Javascript 在文档中拖拽mouseup/mouseleave时,我想调用我的Ajax请求
对于滑块范围-当在文档中拖动并使用mouseup/mouseleave时,我想调用我的Ajax请求 解释: 当我向下滑动滑块时,我想说isDown=“true”,但它不起作用 任何人都可以帮助我,让我知道我如何实现这一点Javascript 在文档中拖拽mouseup/mouseleave时,我想调用我的Ajax请求,javascript,jquery,ajax,Javascript,Jquery,Ajax,对于滑块范围-当在文档中拖动并使用mouseup/mouseleave时,我想调用我的Ajax请求 解释: 当我向下滑动滑块时,我想说isDown=“true”,但它不起作用 任何人都可以帮助我,让我知道我如何实现这一点 // Default isDown = false $("#slider-range").find('a').mousedown(function(){ isDown=true; console.log(isDown); // It works here!
// Default
isDown = false
$("#slider-range").find('a').mousedown(function(){
isDown=true;
console.log(isDown); // It works here!
});
console.log(isDown); // It doesn't works here
if(isDown)
{
$(document).onmouseup(function() {
return setAjaxRequest();
isDown = false;
});
}
您需要在事件函数之外声明isDown,以便在这些函数之间共享它! 试试这个:
$(document).ready(function() {
var isDown = false;
// On a mousedown on a slide link
$("#slider-range").find('a').mousedown(function(){
isDown = true;
});
// on MouseUp on the document
$(document).one('mouseup', function() {
if (isDown) {
return setAjaxRequest();
isDown = false;
}
});
});
以下是最终工作代码:
$("#slider-range").find('a').mousedown(function(e){
isDown=true;
console.log(isDown);
if(isDown)
{
$(document).one('mouseup',function(e) {
setAjaxRequest();
isDown = false;
});
}
else
{
isDown = false;
}
});
您是否在mousedown回调之外定义了
isDown
?如果没有,您将无法“看到”它;除此之外,我的坏功能-当然它不会工作,在设置mouseDown()
后,您正在评估isDown
。尝试检查isDown
内部onmouseup
回调。嗨,我用mouseup试过了,它仍然不起作用。嗨,Sybio,这很有效,但当我在文档上单击任何内容时,每次单击都会不断请求ajax文件。因此,我使用one()-使用$(document.one('mouseup',function(){…})尝试了您的代码,现在可以运行了!!嗨,我尝试了上面的代码,它可以工作,但是在调用我的ajax文件时,每个单击的文档上都有一个问题。所以我刚刚添加了$(document.one('onmouseup',function(){…});现在它工作了!!感谢Sybio这里是最后的代码:$(“#滑块范围”).find('a').mousedown(函数(e){isDown=true;console.log(isDown);if(isDown){$(document.one('mouseup',函数(e){setAjaxRequest();isDown=false;})}else{isDown=false;});