jquery的:
var pop = $('.popupdiv');
disable();
function disable()
{
pop.slideDown(1000);
}
$( "body").keyup(function()
{
$("body") .mousedown(function()
{
alert("hii");
})
pop.slideUp(1000);
})
在上面的例子中,一旦文件加载“禁用”方法按预期执行,但在“keyup”事件“slideUp”函数执行后但“mousedown”事件没有响应。删除“slideUp”方法后“ mousedown“事件响应。我想知道为什么会这样吗?它的解决方案是什么?我想在“keyup”事件后响应“slideUp”方法和“mousedown”事件。
答案 0 :(得分:0)
请记住,一旦你将mousedown事件处理程序附加到该元素,它就在那里;不需要再做了。因此,这就足够了:
$('body').keyup(function() {}).mousedown(function() {});
如果您正在尝试在元素上实现keyup + mousedown组合,那么您需要重新考虑这一点。 也许是这样的事情:
a = false;
$('body').keyup(function() {
a = true;
}).mousedown(function() {
if (a) {
a = false;
alert("hii");
pop.slideUp(1000);
}
});
答案 1 :(得分:-1)
您的代码错误,您将一个mousedown事件处理程序嵌套在一个keyup事件处理程序中,并且都在同一个元素上分配。(Mousedown虽然同一个元素上的keyup看起来不合逻辑)
相反,正确的是:
var pop = $('.popupdiv');
disable();
function disable()
{
pop.slideDown(1000);
}
$( "body").keyup(function() {
//DO something on keyup
}).mousedown(function() {
//Do something on mousedown
});