gpt4 book ai didi

c# - 通过避免像点击事件这样的回发,使用 javascript 显示消息框。确定,取消按钮应该只关闭消息框

转载 作者:太空宇宙 更新时间:2023-11-03 16:01:08 25 4
gpt4 key购买 nike

我遇到过这样一种情况,当用户单击页面上的任何按钮或链接按钮时,它应该显示消息框。所以我通过将 javascript 函数添加到 window.onbeforeunload 来显示消息框。

到目前为止一切正常。我只是不想在用户单击确定或取消按钮而不执行任何回发事件时显示消息框。所以我在确定和取消按钮上保持“返回错误”。当我单击这些“确定”、“取消”按钮时,它在 IE 中显示另一个消息框“来自网页的消息为假”。

最佳答案

嗯...我从两个方面质疑这项技术:

  1. 为什么您希望“return false”始终抑制您​​的 okcancel 按钮的此事件?为什么 IE 会根据返回值 false 抑制事件?
  2. 附加到 window.onbeforeunload 事件有什么用?您不应该响应这些元素上的 click 事件吗?

老实说,这听起来像是 IE 正在根据您的代码提供合理的操作:onbeforeunload 事件正在触发,并且它正在显示 false 的消息框,这正是您想要的回来了。

这里有一些想法。
A。不要使用 return false 来抑制 okcancel 按钮的消息框,而是在回调函数中使用 and if/then 来检查和查看其中一个是否被点击。如果是这样,只需返回并且不执行模态的代码。
b.将所有按钮、链接和输入绑定(bind)到 click 事件,而不是 onbeforeunload。然后以同样的方式使用上面(a)中的check in。

使用jQuery绑定(bind)事件:

$(document).ready( function(){
$('button').on('click', function(e) {
if ((e.target.id === 'ok') || (e.target.id === 'cancel')) {
return();
} else {
// display message box
}
})
});

希望这对您有所帮助!

免责声明:我实际上并没有看到代码,所以这是在黑暗中拍摄的。

关于c# - 通过避免像点击事件这样的回发,使用 javascript 显示消息框。确定,取消按钮应该只关闭消息框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21346824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com