Инициировать что-либо только в первом из (потенциально многих) событий jQuery mouseup - PullRequest
1 голос
/ 23 марта 2012

у меня

$('#myElem').mouseup(function(e){

  isMouseDown = false;

});

Что я хочу сделать, так это вызвать одно событие (например, предупреждение или ++ 1 к счетчику) только на first того, что может быть числом событий mousedown.

Ответы [ 2 ]

4 голосов
/ 23 марта 2012

Если у вас есть несколько привязок и вы выполняете фильтрацию, вы можете использовать event.stopPropagation в событии и не давать ему подниматься в списке событий. Хотя до сих пор неясно, что вы имеете в виду под «первым из ряда событий, связанных с moussedown». (Связано с несколькими селекторами, относящимися к одному и тому же элементу, привязано к дочерним элементам в родительском элементе, ...)

Вы также можете использовать .one() и привязывать к событию только после предыдущего события. Кроме того, вы можете добавлять / удалять привязки на основе определенных событий.

0 голосов
/ 23 марта 2012

У вас есть два варианта, этот:

$('#myElem').mouseup(function(e) {

    isMouseDown = false;
    return false;

});

И этот:

$('#myElem').mouseup(function(e) {

    isMouseDown = false;
    e.stopPropagation();

});
...