<script>
function clickRow(thrRow) {
thrRow.className = "selected";
}function changeCSS() {
$(".selected").removeClass().addClass("first");
}$(".selected").mousedown(function(e) {
alert();
}
</script><table>
<tr class="first" onclick ="clickRow(this)">
<td>
td1
</td>
</tr>
<tr class="first" onclick ="clickRow(this)">
<td>
td2
</td>
</tr>
</table>
<input type="button" value="changeClass" onclick="changeCSS()"/>当我点击td1时会弹出alert(),点击button,然后再点击td1,还会弹出alert(),我怀疑是mousedown事件可以添加多个事件,请问怎样才能消除旧的mousedown事件?
function clickRow(thrRow) {
thrRow.className = "selected";
}function changeCSS() {
$(".selected").removeClass().addClass("first");
}$(".selected").mousedown(function(e) {
alert();
}
</script><table>
<tr class="first" onclick ="clickRow(this)">
<td>
td1
</td>
</tr>
<tr class="first" onclick ="clickRow(this)">
<td>
td2
</td>
</tr>
</table>
<input type="button" value="changeClass" onclick="changeCSS()"/>当我点击td1时会弹出alert(),点击button,然后再点击td1,还会弹出alert(),我怀疑是mousedown事件可以添加多个事件,请问怎样才能消除旧的mousedown事件?
alert();
}
去掉这个方法 直接在这changeCSS()方法里面提示不就好了么!!
你点击了button,调用了changeCSS()函数。使<tr class="selected" onclick ="clickRow(this)">又变回了
<tr class="first" onclick ="clickRow(this)">。
然后你再点击td1,肯定还是会弹出alert()的。
因为你始终调用了clickRow(this)函数。
使用unbind() 试试.