нажмите на div с обычным JavaScript - PullRequest
4 голосов
/ 10 февраля 2012

jquery прикрепляет метод click к тем вещам, которые обычно не реагируют на нажатия, например, к DIV. это может быть здорово, потому что некоторые вещи реагируют на это. Как я могу "щелкнуть" на любом старом обычном DIV, используя обычный старый JavaScript без Jquery?

я пытаюсь нажать на область, где пользователь может публиковать сообщения в Jquery. Я использую расширение Chrome, которое может запускать некоторые JavaScript на горячие клавиши. Я написал версию JQuery var x = $ ('div [guidedhelpid = "sharebox"]'); x.click ();

, который работает нормально, за исключением того, что библиотека jquery загружается только примерно в 1/4 времени. не знаю почему, поэтому я решил, что постараюсь сделать это простым JS. Что касается обработчика, собственный код googles прекрасно перехватывает и обрабатывает клики, и это работает в версии Jquery. так что я просто хочу эффективно сделать то же самое.

внутренне Jquery поднимается или опускается в DOM, пока не обнаружит первое, что можно щелкнуть мышью?

обновление в свете этого я смотрел в неправильном направлении, и мне просто нужно было найти правильный элемент для фокусировки (в JQUERY).

Ответы [ 5 ]

6 голосов
/ 10 февраля 2012

Если вы просто хотите привязать одну функцию к элементу, вы можете использовать

var element = document.getElementById("el"); //grab the element
element.onclick = function() { //asign a function
//code
}

но если вам нужно присоединить более одного события, вы должны использовать addEventListener (все, кроме IE) и attachEvent (IE)

if(element.addEventListener) {
element.addEventListener("click", function() {});
} else { 
element.attachEvent("onclick", function() {})
}
4 голосов
/ 10 февраля 2012

Функция click() встроена в JavaScript, а не в jQuery.

HTMLElementObject.click()

Источник .

2 голосов
/ 10 февраля 2012

Вот статья Джона Резига (создателя jQuery) о том, как это сделать.Это в основном его вступление в конкурс (который он выиграл) о том, как переписать addEvent().

0 голосов
/ 10 февраля 2012
var divElement = document.getElementById('section');

divElement.addEventListener('click', function () {
  alert('div clicked');
},false);
0 голосов
/ 10 февраля 2012
var d = document.getElementById("test");
d.onclick = function(){alert('hi');};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...