如何将MouseDown事件添加到按钮

时间:2014-03-13 19:13:47

标签: javascript jquery

我有一个像下面的按钮和一个jquery,可以完美地增加滑块的大小

<button id='plus' type="button">+</button>

$('#plus').click(function() {
     s.slider('value', s.slider('value') + s.slider( "option", "step" ) );   
 });

但是只要冥想落在按钮上,我想改变尺寸。所以我尝试了这个,但它没有做到这一点! (它实际上就像点击事件一样)。

$('#plus').mousedown(function() {
    s.slider('value', s.slider('value') + s.slider( "option", "step" ) );   
});

请告诉我如何在jQuery中执行此操作?

3 个答案:

答案 0 :(得分:1)

我只是明白,当按下按钮时,你想要不断发生的事情。

请参阅this answer

主要思想是在按钮关闭时启动间隔,这将在每一轮进行更新,当释放按钮时,此间隔将停止。

例如:

var timeout, clicker = $('#plus');

clicker.mousedown(function(){
    timeout = setInterval(function(){
        // Do something continuously 
        s.slider('value', s.slider('value') + s.slider( "option", "step" );
    }, 500);

    return false;
});

$(document).mouseup(function(){
    clearInterval(timeout);
    return false;
});
希望有所帮助。

答案 1 :(得分:1)

尝试

$('#plus').bind('mousedown', function() { s.slider('value', s.slider('value') + s.slider( "option", "step" ) );
});

OR

$('#plus').on('mousedown', function() { s.slider('value', s.slider('value') + s.slider( "option", "step" ) );
});

答案 2 :(得分:0)

使用bind弃用on应该是更好的解决方案:

$('#plus').on('mousedown', function() {
    s.slider('value', s.slider('value') + s.slider( "option", "step" ) );   
});