2015-08-27 2 views
2

У меня есть следующий код:.trigger («щелчок») не работает на MouseEnter

$("#full-year td").mouseenter(function() { 
    $(this).trigger('click'); 
}); 

и по какой-то причине .trigger («Клик») будет только огонь в первый Т.Д. курсор земли на и ни один другой тд.

Вот рабочий пример с использованием .toggleClass вместо .trigger.

https://jsfiddle.net/bx5zbor5/2/

Вот пример этого не работает. (Обратите внимание, как он стреляет в первый тд он приземляется на)

https://jsfiddle.net/Lym9wmaf/5/

Спасибо за вашу помощь.

+0

Что вы хотите от 'click'? 'только огонь для первого td', как вы идентифицируете? – Manwal

+0

Когда я использую вашу скрипку, '.toggleClass', похоже, работает на каждом' td' правильно. – Wolf

+1

@ Вольф точно, что он сказал в своем посте.Он работает с toggleClass, но он хотел бы, чтобы он работал с триггером (который работает только на первом td). – rottenoats

ответ

1

Вы добавили td с помощью # (проверьте селектор: $("#td")), что означает, что вы выбираете ячейку таблицы с идентификатором td, который не является каждой ячейкой таблицы.

Изменить селектор: $('td')

- редактировать - Кажется работать, хотя ... заказ https://jsfiddle.net/bx5zbor5/7/

+0

Это была ошибка редактирования. Первоначально это '$ (" # full-year td ")'. – Manwal

1

Это может помочь вам.

$("#our_table td").mouseenter(function (evt) { 
      $(evt.currentTarget).toggleClass("highlighted"); 
      $(evt.currentTarget).trigger("click"); 
     }).click(function(evt){ 
    console.log($(evt.currentTarget).html()); 
}); 

Sample Code

Пожалуйста, дайте мне знать, если вы столкнетесь с какой-либо вопрос.

0

Курсор никогда не приземлится ни на один из элементов td, потому что td не редактируемый элемент.

Взгляните на следующий trigger работает для каждого элемента:

$("#our_table td").mouseenter(function() { 
    $(this).trigger('click'); 
}); 

$("#our_table td").click(function(){ 
    console.log($(this).text()); 
}) 

Updated DEMO

Всякий раз, когда мышь ввести на любом из td он console его текста.

0

Использование

$('#full_year id').click(function(){ //foo });

Вместо

$('#full_year id').on('click', function(){ //foo });

, как вы положили его в комментариях. https://api.jquery.com/click/ Здесь говорится, что событие будет привязываться к клику, а в https://api.jquery.com/on/ просто говорит, что добавляет слушателя, не связывает фактическое событие.

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