我之前已经阅读了几个关于类似问题的问题,并且已经认为我已经收集了通过多个DOM项目传播的问题,但是我仍然发现我的Ajax被多次触发当释放我的jquery滑块后,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;
});
答案 0 :(得分:0)
目前尚不清楚如何使用滑块。你基本上表示你想这样做:
colnames(model$loadings) <- c("FactorA", "FactorB")
fa.diagram(model)
&#13;
$(function() {
$('#slider-range').mousedown(function(e) {
var myEvent = e;
console.log("mousedown", myEvent);
$('#slider-range').one('mouseup', function(e) {
myEvent.stopPropagation();
console.log("mouseup", e);
});
return false;
});
});
&#13;
这表示您希望在<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="slidecontainer">
<input type="range" min="1" max="100" value="50" class="slider" id="slider-range">
</div>
事件期间停止mousedown
事件。不确定这会有什么帮助。
由于您需要通过AJAX发送和接收数据,我会等到用户完成幻灯片事件,然后通过AJAX发送值。因此,要么寻找幻灯片停止,更改或鼠标,然后发送数据。
mouseup
&#13;
$(function() {
$('#slider-range').on("mousedown mouseup", function(e) {
console.log(e);
if (e.type == "mouseup") {
console.log($(this).val());
}
});
});
&#13;
答案 1 :(得分:-1)
我认为您错过了在函数参数
中添加e$('#slider-range')。one('mouseup',function(e){
同时检查控制台是否有错误