Sou*_*jee 5 javascript ajax jquery
我正在使用类似的语法
$("body").on("click", ".className", function(){
// some code
});
Run Code Online (Sandbox Code Playgroud)
它工作正常,然后我用ajax重新加载整个页面(没有浏览器刷新),然后事件开始两次触发,另一次刷新 - 触发三次等等.
然后我将代码转换为
$("body").off("click", ".className").on("click", ".className", function(){
// some code
});
Run Code Online (Sandbox Code Playgroud)
它在某种程度上解决了这个问题.即使在此之后,我在某些情况下会多次射击.有没有办法找出元素上是否存在多次绑定的"on"事件,将它们全部删除并仅绑定一次?
不确定这是一个有效的问题,还是我能够清楚地解释它.
如果您每次使用 ajax 加载页面时都进行委托,它将一次又一次地绑定到 body 的子级 .classname 上,从而导致不必要的效果
$(function () {
$("body").on("click", ".className", function () {
// some code
});
function loadpage() {
//ajax call
}
loadpage();
});
Run Code Online (Sandbox Code Playgroud)
尝试将事件委托置于加载页面函数之外
| 归档时间: |
|
| 查看次数: |
1708 次 |
| 最近记录: |