在我的项目中,我将使用的 jQuery 版本从 1.4.2 更新到了 1.7.2。现在我在处理<tr>
元素的单击事件处理程序时观察到一些意外行为。
多个站点包含第一列中带有单选按钮的表格。所以 HTML 看起来像这样
<table>
<tbody>
<tr onclick="selectOnClick(this)">
<td><input type="radio" .... /></td>
......
</tr>
...
在一个单独的 js 文件中有 JS 函数的定义
function selectOnClick(row) {
$(row).children('td').children('input :first').click();
$(row).children('td').children('input :first').click();
$(row).children('td').children('input :first').click();
}
因此,每当单击表格行内的元素时,都会单击第一个输入元素。我不知道为什么需要在函数中调用相同的语句 3 次,但这是有原因的。
我的问题是,在 jQuery 更新 (v.1.4.2 --> 1.7.2) 之后,鼠标单击该行会产生数百个事件而不是一个事件。浏览器忙于处理它们,以至于它看起来根本没有反应。如果我将函数修改为click()
仅在它不改变时调用。
有人可以告诉我造成这种影响的原因是什么。