-5

ユーザーがボタンを「x」秒間押した後に関数を呼び出したい。助けてください。

4

3 に答える 3

4

setTimeout() を呼び出して 3000 ミリ秒後にアクションを実行し、setTimeout() からの識別子を関数の上にスコープが設定された変数に格納します。要素の mouseup() で、タイムアウトが存在する場合は clearTimeout() を介してクリアします。

var divMouseDown;
$('#div-id').mousedown(function() {
divMouseDown = setTimeout(function() {
 // Do timeout action...
}, 3000);
});
$('#div-id').mouseup(function() {
if (divMouseDown) {
 clearTimeout(divMouseDown);
}
});
于 2013-05-05T05:43:51.357 に答える
0
$('div.target').primarydown( function() {
    released = false;
    $(this).primaryup( function() {
      released = true;
    });
    setTimeout( function() {
      if( released ) return;
      else {
         // call required function
      }
     }, 1000 /* timeout */ );
});
于 2013-05-05T05:51:58.407 に答える