我有以下代码:
$("#full-year td").mouseenter(function () {
$(this).trigger('click');
});
由于某种原因,.trigger('点击')只会触发光标所在的第一个td,而不会触发其他任何一个td。
这是一个使用.toggleClass而不是.trigger的工作示例。
https://jsfiddle.net/bx5zbor5/2/
这是一个不起作用的例子。(注意它在它登陆的第一个td上是如何发射的)
https://jsfiddle.net/Lym9wmaf/5/
感谢您的帮助。
答案 0 :(得分:1)
您已使用#
添加td(检查选择器:$("#td")
),这意味着您正在选择ID为td
的表格单元格,而不是每个表格单元格
将选择器更改为:$('td')
- 编辑 - 似乎工作...结帐https://jsfiddle.net/bx5zbor5/7/
答案 1 :(得分:1)
这可以帮到你。
$("#our_table td").mouseenter(function (evt) {
$(evt.currentTarget).toggleClass("highlighted");
$(evt.currentTarget).trigger("click");
}).click(function(evt){
console.log($(evt.currentTarget).html());
});
如果您遇到任何问题,请与我们联系。
答案 2 :(得分:0)
光标永远不会落在任何td
元素上,因为td不是可编辑的元素。
看看以下trigger
是否适用于每个元素:
$("#our_table td").mouseenter(function () {
$(this).trigger('click');
});
$("#our_table td").click(function(){
console.log($(this).text());
})
每当鼠标输入td
console
的任何文本时,
答案 3 :(得分:0)
使用
$('#full_year id').click(function(){ //foo });
而不是
$('#full_year id').on('click', function(){ //foo });
正如你在评论中所说的那样。 https://api.jquery.com/click/ 这里说事件将绑定到点击,而在 https://api.jquery.com/on/ 只是说它添加了一个监听器,不绑定实际事件。