Вызов функций JS из ссылок в IE? - PullRequest
1 голос
/ 26 августа 2010

Если у меня есть такая функция:

function foo()
{
    //...
    return false;
}

Я могу назвать ее так:

<a href="#" onClick="foo()">Run Foo</a>

Однако во всех браузерах это ставит # вURL, который я не хочу.

Поэтому вместо этого я делаю это:

<a href="javascript:foo()">Run Foo</a>

, который прекрасно работает в Chrome, но в IE загружает страницу, содержащую строку false.

Какая лучшая практика здесь?

Ответы [ 2 ]

3 голосов
/ 26 августа 2010

Вам не нужен протокол javascript:.

<a href="#" onclick="foo(); return false">Run Foo</a>

- это все, что вам нужно.

1 голос
/ 26 августа 2010

Как @wrumbsy говорит ...

Вам не нужен протокол javascript:

<a href="#" onclick="foo(); return false">Run Foo</a>

... но это означает, что вам также не нужен якорь <a>. Использовать якоря только для гиперссылок; не для JS-расширенной интерактивности .

Пролет будет работать так же хорошо, с cursor:pointer; свойством CSS:

<span style="cursor:pointer;" onclick="foo(); return false">Run Foo</span>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...