Mub*_*een 11 html jquery focus onmouseup
我用这个,
$("#loginanchor1").click(function (e) {
e.preventDefault();
$("#signin_menu1").slideDown("slow");
});
$(document).mouseup(function (e) {
if ($(e.target).parent("a.loginanchor1").length == 0) {
//$(".signin").removeClass("menu-open");
$("#signin_menu1").slideUp("slow");
}
});
Run Code Online (Sandbox Code Playgroud)
一切正常但发生了什么是当signin_menu1显示块时我点击div里面的鼠标按钮div滑动...我想要在signin_menu1显示块时阻止鼠标功能.所以我想改变这样的条件,
if(($(e.target).parent("a.loginanchor1").length==0) &&( //check the display of the div)
现在如何检查显示?
Rei*_*gel 16
尝试
$(document).mouseup(function (e) {
var $parent = $(e.target).parent("a.loginanchor1");
if ($parent.length == 0 && !$("#signin_menu1").is(':visible')) {
//$(".signin").removeClass("menu-open");
$("#signin_menu1").slideUp("slow");
}
});
Run Code Online (Sandbox Code Playgroud)
我对问题感到困惑,但$("#signin_menu1").is(':visible')会检查div是否可见(显示:阻止).
补充说明:
您可以尝试检查$(e.target)是signin_menu1或者是内部的signin_menu1.像这样做,
$(document).mouseup(function (e) {
if ($(e.target).is('#signin_menu1') || $(e.target).closest('#signin_menu1').length > 0) { return ; } // do nothing on mouseup
var $parent = $(e.target).parent("a.loginanchor1");
if ($parent.length == 0) {
//$(".signin").removeClass("menu-open");
$("#signin_menu1").slideUp("slow");
}
});
Run Code Online (Sandbox Code Playgroud)