Javascript 防止多次触发mouseup事件
我已经阅读了前面关于类似问题的几个问题,并且认为这是通过多个DOM项传播的问题,但是我仍然发现,当鼠标在释放jquery滑块后触发时,Ajax会被多次触发 下面是我试用过的代码。有人能看到任何明显的东西并解释为什么我包含的传播语句不起作用吗?我试过Javascript 防止多次触发mouseup事件,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我已经阅读了前面关于类似问题的几个问题,并且认为这是通过多个DOM项传播的问题,但是我仍然发现,当鼠标在释放jquery滑块后触发时,Ajax会被多次触发 下面是我试用过的代码。有人能看到任何明显的东西并解释为什么我包含的传播语句不起作用吗?我试过e.stopPropagation()行在多个位置 $('#slider-range').mousedown(function(e) { $('#slider-range').one('mouseup'
e.stopPropagation()代码>行在多个位置
$('#slider-range').mousedown(function(e) {
$('#slider-range').one('mouseup', function() {
e.stopPropagation();
$("#"+pupil).css("visibility","hidden");
$( "img[name='save"+pupil+"']" ).show();
$.ajax(
{
type: "POST",
url: "readingAgeAjax.php",
data: (
{
"type": "saveReadingAge",
"readingAge": $('#hiddenSpan'+pupil).html(),
"pupilID": pupil
}),
success: function(response)
{
$( "img[name='save"+pupil+"']" ).hide();
}
});
});
return false;
});
我认为您没有在函数参数中添加e
$(“#滑块范围”).one('mouseup',函数(e){
同时检查您的控制台是否有错误您不清楚如何使用滑块。您基本上表示要这样做:
$(函数(){
$(“#滑块范围”).mousedown(函数(e){
var-myEvent=e;
console.log(“mousedown”,myEvent);
$(“#滑块范围”).one('mouseup',函数(e){
myEvent.stopPropagation();
console.log(“mouseup”,e);
});
返回false;
});
});
欢迎来到堆栈溢出。我怀疑e.stopPropagation();
未正确定义为e
在父函数中定义,它可能不正确可用。我实际上注意到,事件在我第一次移动滑块时触发一次,第二次两次,第三次三次等。可能是其他原因造成的。此外,瞳孔
在哪里定义?请提供一个更完整的示例: