jq中用on()方法绑定了事件之后,在代码执行过程中,可能会遇到事件被多次执行的情况。
<p id="addEvevt">绑定事件</p>
<input id="bindEventBtn" type="button" value="绑定事件的按钮" />
js代码
$(function(){
$(‘#addEvevt‘).click(function () {
$(‘#bindEventBtn‘).on(‘click‘, function () {
alert('绑定了事件');
});
});
})
这样,当多次点击addEvevt按钮,就会将同一个事件多次绑定到bindEventBtn按钮上。
而on()方法的一个特性是绑定了多少次就触发多少次的。
问题的解决方法
1、使用off()方法解绑。
$(‘#bindEventBtn‘).off(‘click‘).on(‘click‘, function () {
alert(‘一个按钮‘);
});
2、使用unbind()方法解绑。
$(‘#bindEventBtn‘).unbind(‘click‘).on(‘click‘, function () {
alert(‘一个按钮‘);
});