jQuery仅在第二次点击时工作

时间:2014-01-07 18:13:20

标签: javascript jquery

任何人都可以指出问题为什么我无法在第一次点击时收到警报弹出窗口?它仅在每次点击时起作用(即,对于奇数点击不起作用,并且在偶数点击时起作用)。

HTML:

<div class="slider">
    <div class="slider-box ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all">
        <a class="ui-slider-handle ui-state-default ui-corner-all" href="#" style="left: 50%;"></a>
    </div>
</div>

jQuery的:

$(document).ready(function() {
    $("a.ui-slider-handle").click(function() {
        alert('test');
    }); 
});

我也尝试了但没有工作

$(document).ready(function() {
    $("a.ui-slider-handle").mousedown(function() {
        alert('test');
    }); 
});

4 个答案:

答案 0 :(得分:2)

嗯......你试图阻止默认的锚行为吗? http://jsbin.com/IfirEBOj/2/edit

$("a.ui-slider-handle").click(function( event ) {
    event.preventDefault();
    alert('test');
}); 

在任何情况下,您都应该熟悉一些调试工具并查看它抛出的错误。如果有......

答案 1 :(得分:2)

add: return false; to your command

$(document).ready(function() {
    $("a.ui-slider-handle").click(function() {
        alert('test');
return false;
    }); 
});

答案 2 :(得分:0)

您是否尝试取消href属性?

$(document).ready(function(){

    $("a.ui-slider-handle").attr('href', 'javascript:void(0)').click(function(){

        alert('test');

    }); 

});

答案 3 :(得分:0)

试试这个:

<div id="slider"></div>
$(document).ready(function () {
    $("#slider" ).slider();
    $("#slider").on('click','a',function () {
        alert('test');
    });
});

检查小提琴: http://jsfiddle.net/3zEX5/2/

<强>更新 我想你先点击div然后锚标签就在它附近,即小滑块按钮。所以你感觉它正在进行奇怪的点击,如果你能清楚地告诉你需要那么我们可以建议你某种方式