Oma*_*mar 41 javascript jquery onclick mouseevent
在用户点击...."登录"按钮和其他事件后,我制作了一个加载脚本 - 让用户知道他们必须等待(直到ajax回复).
我如何可以禁用任何鼠标点击(右键单击,左键单击,双击,中键单击,X点击),上div id="doc"?
我想将该代码添加到loading.js
HTML
<html>
...
<body>
<div id="doc">
<div id="content">
...
<input type="button" value="Login" id="login" />
...
</div id="content">
</div id="doc">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
loading.js
function load_bar(x)
{
if (x==0)
{
$(document.body).css( {"cursor": "default"} );
$("body").css( {"cursor": "default"} );
$("#loading").css("visibility", "hidden"); //modal window
// $("#doc").....ENABLE all clicks (left/right/etc)
}
else if (x==1)
{
$(document.body).css( {"cursor": "wait"} );
$("body").css( {"cursor": "wait"} );
$("#loading").css( {"visibility": "visible"} ); //modal window
// $("#doc").....DISABLE all clicks (left/right/etc)
}
else
{
return alert("Wrong argument!");
}
}
Run Code Online (Sandbox Code Playgroud)
jQuery的
$(document).ready(function()
{
//AJAX
$("#login").click(function()
{
load_bar(1); //DISABLE clicks and show load_bar
$(":input").attr("disabled", true);
$.post(
...
function(data)
{
...
load_bar(0); //ENABLE clicks and hide load_bar
...
} //END: if:else
}); //END:$.post
...
}); //END:ajax
}); //END:jQuery
Run Code Online (Sandbox Code Playgroud)
小智 51
您可以在正文或特定div中添加一个简单的css3规则,使用pointer-events: none;属性.
Ry-*_*Ry- 39
您可以覆盖一个大的,半透明的,可以获得<div>所有点击.只需添加一个新的<div>以<body>这种风格:
.overlay {
background-color: rgba(1, 1, 1, 0.7);
bottom: 0;
left: 0;
position: fixed;
right: 0;
top: 0;
}
Run Code Online (Sandbox Code Playgroud)
Cha*_* Ma 19
禁用所有鼠标单击
var event = $(document).click(function(e) {
e.stopPropagation();
e.preventDefault();
e.stopImmediatePropagation();
return false;
});
// disable right click
$(document).bind('contextmenu', function(e) {
e.stopPropagation();
e.preventDefault();
e.stopImmediatePropagation();
return false;
});
Run Code Online (Sandbox Code Playgroud)
再次启用它:
$(document).unbind('click');
$(document).unbind('contextmenu');
Run Code Online (Sandbox Code Playgroud)
就像是:
$('#doc').click(function(e){
e.preventDefault()
e.stopImmediatePropagation() //charles ma is right about that, but stopPropagation isn't also needed
});
Run Code Online (Sandbox Code Playgroud)
应该做的工作你也可以绑定更多的鼠标事件与替换: 编辑:添加这个在费用的部分
$('#doc').bind('click mousedown dblclick',function(e){
e.preventDefault()
e.stopImmediatePropagation()
});
Run Code Online (Sandbox Code Playgroud)
这在解冻中:
$('#doc').unbind();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
100060 次 |
| 最近记录: |