Как поставить проверку условия единожды?
Для каждого обработчика происходит одна и та же проверка. Можно ли сделать так, чтобы не писать проверку для каждого события, а написать единожды?
В реальном коде у меня вообще 3 обработчика стоит в методе on(). И для каждого приходится писать эту проверку.
$('p').on({mouseenter:function(){
if($('b').text()) return;
//какой-то код
},mouseleave:function(){
if($('b').text()) return;
//какой-то код
}
});
|
function ff() {
if($('b').text()) return;
//какой-то код
}
$('p').on({mouseenter: ff, mouseleave: ff});
так не работает что-ли? |
А прямо в методе on() сделать нельзя? Что-то вроде этого, только, чтобы работало.
$('p').on(if($('b').text()) return;
{mouseenter:function(){
...
|
Dimaz,
Ваши вопросы - для экстрасенсов - выложите минимальный HTML и поясните смысл проверок и событий |
Dimaz,
Вариант )))
$('p').on("mouseenter mouseleave", function (event) {
if ($('b').text()) return;
var eventfunction = {
mouseenter: function () {
alert("mouseenter") //какой-то код
},
mouseleave: function () {
alert("mouseleave") //какой-то код
}
}
eventfunction[event.type]()
});
|
Цитата:
|
ну за 4 года можно было и понять, как работают функции и замыкания
$('p').on(
(function() {
function ff() {
if($('b').text()) return;
//какой-то код
}
return {mouseenter: ff, mouseleave: ff};
})()
);
|
Всем спасибо за ответы.
|
| Часовой пояс GMT +3, время: 21:53. |