Есть ли лучший способ связать два события, но срабатывает только тогда, когда одно из них верно - PullRequest
0 голосов
/ 30 марта 2012

Это то, что у меня сейчас есть

click = false;

if click
    $(el).on('click', 'li', {})
else
    $(el).on('hover', 'li', {})   

и click, и hover на самом деле запускают одну и ту же функцию, есть ли более минимальный способ написать это, например,

$(el).on('click, hover', 'li' {})

но все еще в состоянии управлять им с помощью var click;

Ответы [ 2 ]

2 голосов
/ 30 марта 2012

вы можете сделать троичные:

var click = false;
$(el).on((click)?'click':'hover', 'li',function(){...})
0 голосов
/ 30 марта 2012

Если ваша функция принимает событие в качестве первого аргумента (например, function (e) {…), тогда вы можете проверить e.type, чтобы увидеть, является ли оно «зависанием» или «щелчком», а затем связать обработчик, как во втором примере, и проверить что эти значения соответствуют соответствующему событию, определенному click.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...