2015-01-16 5 views
0

Рассмотрите следующий код.jQuery Щелкните несколько раз

$(function(){ 

    $(".notes").click(function(){ 
     console.log('hi');   
    }) 
}) 

    <a data-shipmentid="1" href="#" class="notes btn btn-primary btn-xs">Notes</a> 
    <a data-shipmentid="1" href="#" class="notes btn btn-primary btn-xs">Notes</a> 
    <a data-shipmentid="1" href="#" class="notes btn btn-primary btn-xs">Notes</a> 
    <a data-shipmentid="1" href="#" class="notes btn btn-primary btn-xs">Notes</a> 
    <a data-shipmentid="1" href="#" class="notes btn btn-primary btn-xs">Notes</a> 

Целью является регистрация сообщения при нажатии любой из гиперссылок. Проблема, с которой я сталкиваюсь, заключается в том, что если я нажму на гиперссылку, то консоль получит сообщение «привет» 5 раз (общее количество гиперссылок с классом «примечания»)

Я понимаю, что что-то не так. Как я могу проверить, что здесь не так? Я вижу, что на консоли не отображаются сообщения об ошибках. Кто-нибудь может подумать, почему мероприятие многократно срабатывает?

+0

Это должно быть сделано только один раз - можете ли вы воспроизвести скрипку или фрагмент? –

+0

Да, вы правы, он должен выполняться только один раз. И я не могу воспроизвести его на JsFiddle (я пробовал это) с тем же кодом, который я использую в своем проекте (который является крупным проектом). Мне нужны некоторые предложения о том, где искать возможные ошибки. – getvivekv

+0

Я также пытался обновить jQuery с 1.10 до 1.11, думая, что это может быть проблема с ядром jquery, но это не – getvivekv

ответ

0

Как насчет использования .one()

$(function(){ 

    $(".notes").one('click', function(){ 
     console.log('hi');   
    }) 
}) 
+0

Это не сработало – getvivekv

1

Ответ предоставляется Shanimal работал!

$(function(){ 
$(".notes").off().click(function(){ 
    console.log('hi');   
    }) 
}) 
Смежные вопросы