请帮助我 :按钮选择器取消绑定我的Spring MVC项目中的所有按钮的事件在chrome中工作正常,但在firefox和Internet Explorer中没有。
我的任务是从项目中的所有按钮取消绑定事件。代码如下:
var j$ = jQuery.noConflict();
j$(document).ready(function() {
jQuery(window).bind(
"beforeunload",
function() {
return confirm("do you want to exit?" , "true");
}
);
jQuery(":button").on('click', function(){
jQuery(window).unbind('beforeunload')
});
jQuery('a').on('click', function(){
jQuery(window).unbind('beforeunload')
});
jQuery(window).bind('keydown keyup', function(e) {
if(e.which === 116) {
jQuery(window).unbind('beforeunload');
}
if(e.which === 82 && e.ctrlKey) {
jQuery(window).unbind('beforeunload');
}
});
jQuery(window).mousedown(function(e){
if( e.button == 2 ) {
jQuery(window).unbind('beforeunload');
}
else{
jQuery(window).bind('beforeunload');
}
});
jQuery("form").submit(function(){
jQuery(window).unbind('beforeunload')
});
});
现在这在chrome中运行良好,但在ie和firefox中没有。请帮我纠正这个代码或建议我从所有按钮解除绑定事件的其他方法。 非常感谢提前
嗨,我刚刚遇到了实际问题。问题是因为输入元素的类型是按钮,这会产生问题。如果我们将按钮的输入类型设置为“提交”,它在Firefox和其他方面都可以正常工作。但是如果按钮的输入类型设置为“按钮”,则它不起作用。我是说这个。请帮助我。如何解决这个问题。提前致谢。
答案 0 :(得分:3)
问题在于呼叫顺序: 首先是 disableButton ,而不是 unbind()。并且只有使用相反的顺序才能实现所需的行为。
我的命题要么是使用提交(就像你之前说过的,几乎没有js),要么将 j $(this).unbind(“beforeunload”); 添加到 disableButton( )(它在firefox中工作,也就是:-)):
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<script type="text/javascript" src="demo-Dateien/jquery.js"></script>
<script type="text/javascript">
function disableButton() {
j$(this).unbind("beforeunload");
document.form.method="GET";
document.form.but.disabled = true;
document.form.submit();
}
var j$ = jQuery.noConflict();
j$(document).ready(function() {
j$(window).bind(
"beforeunload",
function() {
return confirm("do you want to exit?" , "true");
}
);
});
</script>
</head>
<body>
<form name="form" action="process.jsp" method="post">
<label>First Name</label>
<input name="fname" type="text">
<br>
<label>Last Name</label>
<input name="lname" type="text">
<br>
<input class="Button" name="but" value="Next" onclick="javascript:disableButton()" type="button">
</form>
</body>
</html>
答案 1 :(得分:1)
它在firefox工作..............
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
alert("Hello");
});
});
</script>
</head>
<body>
<button> hello</button>
</body>
</html>