2013-09-23 2 views
1

Я прилагаю событие для всех элементов с именем классом из element внутри main контейнера, как показано нижеСтранного поведения JQuery

$('#main').delegate('.element','click', function(){ 
    console.log($(this).html()); 
}); 

Но проблема событие щелчка обжигают при двойном щелчке в браузере Windows, Chrome и Mac запускается одним щелчком мыши.

Браузер: Google Chrome OS тестировалось: Windows8 и Mac JQuery версия: JQuery 1.10.2

+0

Можете ли вы разместить свою разметку? –

+0

Проводит ли это дважды два раза с двойным щелчком или один раз? – azz

+0

кажется прекрасным http://jsfiddle.net/arunpjohny/9DQU6/1/ –

ответ

0

Попробуйте это:

$(document).delegate('.element','click', function(){ 
    console.log($(this).html()); 
}); 

вместо

$('#main').delegate('.element','click', function(){ 
    console.log($(this).html()); 
}); 

Надежда это поможет

1

.delegate() Из документации:

По JQuery 1.7, .delegate() был заменен методом .on(). Однако для более ранних версий он остается наиболее эффективным средством использования делегирования событий. Дополнительная информация о привязке событий и делегировании содержится в методе .on(). В общем, эти эквивалентные шаблоны для двух методов:

Попробуйте с помощью .on():

$('#main').on('click','.element', function(){ 
    console.log($(this).html()); 
}); 
+2

delegate() все еще должен работать –

+0

@ A.Wolff _supposed_ не ссылается на определенность :) –

+0

Thats true, я должен был сказать: delegate() работает тоже наверняка! ;) Проблема OP не существует –

Смежные вопросы