前两天开发一个新功能,用\'on\'函数为一个新增加的按钮绑定了一个事件,后来测试发现,这个事件有可能会触发多次。
<html> <head> <meta name="viewport" content="width=device-width" /> <title>码上飘</title> <script src="/FrontStyle/js/jquery-1.11.2.min.js" type="text/javascript"></script> <script> $(function(){ $(\'#btn1\').click(function () { $(\'#btnBind\').on(\'click\',function () { alert(123); }); }); }) </script> </head> <body> <input id="btn1" type="button" value="确认" /> <input id="btnBind" type="button" value="绑定按钮" /> </body> </html>
如上面的代码,如果你点击多次\'btn1\'按钮,那么就会绑定多少次click事件到\'btnBind\'按钮上,on是绑定多少次就触发多少次的。
解决方案
要想它只绑定一次,可以先\'off\'然后再\'on\'。
$(\'#btnBind\').off(\'click\').on(\'click\',function () { alert(123); });