最近搜索

按钮重复 绑定click事件。会执行多次。

浏览:455
管理员 2022-04-16 15:41

js代码多次绑定一个按钮。



可以用闭包解决这个问题


function handleAction (event) {

console.log('i am action', event);

}

var newHandle = function (event) {

handleAction(event)

}

var btn = document.getElementById('button');

btn.addEventListener('click', newHandle, false);

btn.addEventListener('click', newHandle, false);

我理解的原理就是浏览器认为 newHandle 是一个相同的方法,所以就不会绑定多次,比如用下面方法也不会绑定多次,但是event 值读取不到


function handleAction (event) {

console.log('i am action', event);

}

var btn = document.getElementById('button');

btn.addEventListener('click', handleAction, false);

btn.addEventListener('click', handleAction, false);

 




方法 二


<body><button class="btn1">绑定2和3事件</button><button class="btn2">2事件</button><button class="btn3">3事件</button></body>
  <script type="text/javascript" src="js/jquery-3.1.0.min.js"></script>
  <script type="text/javascript">$('body').on('click','.btn1',function() {
    $('body').off().on('click','.btn2',function() {
        alert(2);
    });
    $('body').off().on('click','.btn3',function() {
        alert(3);
    });
})</script>



On方法 使用

$('div').on('click',function(){                console.log('我被点击了');                console.log(this);            })

联系站长

站长微信:xiaomao0055

站长QQ:14496453