1、我页面上有一个input file框:
<input type="file" id="file" name="file"/>
2、由于刚开始input是不见的,所以我用jQuery绑定事件:
$(document).on('change', '#file', function(){...})
3、问题:由于我这绑定事件会运行多次,所以我如何先解绑,再绑定事件吗?
1、我页面上有一个input file框:
<input type="file" id="file" name="file"/>
2、由于刚开始input是不见的,所以我用jQuery绑定事件:
$(document).on('change', '#file', function(){...})
3、问题:由于我这绑定事件会运行多次,所以我如何先解绑,再绑定事件吗?
事件解除绑定:
$('#file').off('change');
事件如果绑定多次会导致事件中的函数多次执行,此时你需要保证事件只绑定了一次,事件多次运行是不需要先解绑的,如果你事件运行完成后不再需要,可以解除绑定。
一般事件多次运行,我会这么写:
$(selector).off('change').on('change', function(){...});
这样做的效果是每次点击某个元素后,会先执行消去在此元素上的所有change事件,然后再重新绑定change事件,应该是你要的效果。
1 回答3.7k 阅读
1 回答481 阅读
1 回答390 阅读