每当输入更改发生时,我都会尝试触发父点击事件。 下面是我的代码,它是两次触发Click事件。
$('TABLE TBODY TR TD INPUT').change(function()
{
$(this).parents('TD').click();
});
$('TABLE TBODY TR TD').click(function()
{
alert("Clicked me...");
});
这是我的HTML代码
<table>
<tr><td>foo<input type="radio"></td><td>foo<input type="checkbox"></td></tr>
<tr><td>foo<input type="radio"></td><td>foo<input type="checkbox"></td></tr>
<tr><td>foo<input type="radio"></td><td>foo<input type="checkbox"></td></tr>
</table>
错误在哪里......
答案 0 :(得分:1)
$('TABLE TBODY TR TD INPUT').change(function() {
alert("Clicked me...");
});
答案 1 :(得分:1)
$('TABLE TBODY TR TD INPUT').change(function() {
clicky(this.parents('TD'));
});
$('TABLE TBODY TR TD').click(function clicky(parentElement) {
alert("Clicked me...");
});
所以input
也在td
中,因此两者都被点击了。
这只会返回一个警报,但我感觉你不想提醒,而是改变父元素。
但我敢打赌你可能想要以下
$('TABLE TBODY TR TD INPUT').change(function() {
clicky($(this).parents('TD'));
});
function clicky(parentElement) {
$(parentElement).toggleClass('clicked');
};
直播示例:http://jsfiddle.net/nFtzJ/
每次输入更改时,父<td>
都有类.clicked切换,当然这可以更改,但在生产中使用alert();
几乎是一个失礼。