проблема с событием клика? - PullRequest
1 голос
/ 06 июля 2010

В этом коде есть кнопка и якорь с событием щелчка.

alert(document.getElementById("btn").click); //not working in safari
alert(document.getElementById("btn1").click); // is working in safari

Я хочу выполнить событие щелчка якоря Что я делаю?

<head>
<script type="text/javascript">
function clickMe()
{
     alert('My Name is ' + event.srcElement.name);
}
</script>
</head>
<body>
<a href="#" name="btn" id="btn" onclick="clickMe()">a</a>
<input type="button" href="#" name="btn1" id="btn1" onclick="clickMe()" />
<script>

//document.getElementById("btn").click();
alert(document.getElementById("btn").click);
alert(document.getElementById("btn1").click);
</script>
</body>

1 Ответ

0 голосов
/ 01 сентября 2011

Взято из другого вопроса Можно ли вызвать jquery click (), чтобы перейти по ссылке , если я не привязал обработчик событий к нему с помощью bind или уже щелкнул?

Я провел некоторое исследование, и кажется, что .click не должен работать с тегами 'a', потому что браузер не поддерживает "поддельные клики" с javascript. Я имею в виду, вы не можете "щелкнуть" по элементу с помощью JavaScript. С помощью тегов «a» вы можете вызвать событие onClick, но ссылка не изменит цвета (на цвет посещенной ссылки по умолчанию фиолетовый цвет в большинстве браузеров). Поэтому не имеет смысла заставлять событие $ (). Click работать с тегами «a», поскольку переход к атрибуту href не является частью события onClick, а жестко запрограммирован в браузере.

Safari и Chrome не позволяют объекту ссылки иметь функцию .click из-за этого поведения. Казалось бы, IE менее строг.

...