Jquery.on('单击,'按钮'不工作
Jquery .on('click,'button' not working
我需要检查用户是否关闭了浏览器。没有可靠的方法,但最准确的方法似乎是使用onbeforeunload
并检查是否单击了链接或按钮。我还将添加f5和其他一些额外的检查。
但我对按钮有意见。若我点击按钮,即使有if(window.link_was_clicked==false)
条件,也会进行ajax调用。
<button onclick="setLocation('http://dev.site.com/checkout/')" class="button" title="Checkout" type="button"><span><span>Checkout</span></span></button>
和脚本:
jQuery(document).on('click', 'button', function(event) {
window.link_was_clicked= true;
});
window.onbeforeunload = function() {
if(window.link_was_clicked==false){
//make ajax call
}
};
问题似乎是因为按钮onclick
附带了setLocation功能。有没有办法先触发jQuery(document).on
?
该变量在加载前不存在。所以将其添加到顶部,然后重试
window.link_was_clicked=window.link_was_clicked||false;
jQuery(document).on('click', 'button', function(event) {
window.link_was_clicked= true;
});
window.onbeforeunload = function() {
if(window.link_was_clicked==false){
//make ajax call
}
};
由于您还没有提供setLocation()
的代码,我认为这就是问题所在
通常,同时嵌入onclick
和jquery绑定处理程序是不好的,这会导致各种混乱。然而,如果你不能更改html,你可以按照这个家伙的建议:https://stackoverflow.com/a/7507888/2685386
$(document).ready(function() {
var myClick = $('button').attr('onclick');
$('button').removeAttr('onclick');
$(document).on('click', 'button', function(e) {
window.link_was_clicked=true;
// do my other stuff here....
eval(myClick);// this will now call setLocation()
});
});
相关文章:
- Sencha Touch使一个简单的按钮工作
- Chrome扩展程序:浏览器操作单击按钮工作一次
- jquery如何让这个对话框的“确定”按钮工作
- 我的设备后退按钮工作不正常,它转到第一个html,但返回到第二个html
- 使“编辑”按钮工作
- 如何使单选按钮工作两个任务
- 通过输入键(不起作用)或搜索按钮(工作)查询结果
- 我有三个地方供用户登录,在同一页面上,我如何在一个功能中让所有三个按钮工作和三个表单处理
- 如果 ID 消失,提交按钮工作
- 无法让Gmail一键确认操作按钮工作
- 我无法使这些按钮工作
- 如何让我的离子侧菜单按钮工作
- 试图让按钮工作的功能,但我的警报弹出了书面脚本
- 一个按钮工作,其他不,相同的脚本
- 使用jquery ajax和PHP的浏览器“后退按钮”工作
- 在Firefox上禁用JavaScript意味着我的按钮不能工作,是否有一种方法可以让按钮工作?
- 按钮onclick按钮工作奇怪
- 在这种情况下,我如何使load more按钮工作
- 让我的后退和前进按钮工作与ajax
- 当在主干中使用推送状态重定向时,我如何保持“返回”?按钮工作