Я хотел бы использовать $(this)
как аргумент в функции bind.
Я хочу привязать класс элементов someClass
к выполнению someFunc
(уже определенная функция), когда возникает someEvent
.
someFunc
принимает аргументы, один из которых является элементом действия, element
. В этом случае я хочу действовать на какой-либо элемент с классом someClass
, в котором происходит событие.
Так что, я думаю, что я хотел бы использовать $(this)
, только в качестве аргумента в функции связывания:
$('.someClass').bind('someEvent', {element: $(this)}, someFunc);
Но это не похоже на работу, несмотря на осмыслении мне.
Как я могу использовать $(this)
или что-то, что даст те же результаты в методе связывания?
Я предпочел бы не использовать что-то вроде следующего:
$('.someClass').bind('someEvent', function() {
someFunc($(this));
});
EDIT: Попытка это так, как я не предпочитаю
$(document).ready(function() {
$('.menu-hover').bind('mouseenter', function() {
hover_true($(this), '#1B4186');
});
$('.menu-hover').bind('mouseleave', function() {
hover_false($(this), '#26519E');
});
});
function hover_color(element, color) {
$(element).css('background-color', color);
};
hover_color
просто имел в виду, чтобы цвет данный element
с данным color
. Он не работает (вообще), и я понятия не имею, почему.
Я не думаю, что вы можете избежать использования способа, которым вы бы этого не хотели. Это стандартный синтаксис для обратных вызовов javascript. Почему бы вам не захотеть так поступать? – MuppetGrinder
@MuppetGrinder Я хотел, чтобы связка была более компактной. Я новичок в jQuery, поэтому я не знаком с нормами. Я просто попробовал то, что не хотел, менее сжатый способ, и это, похоже, не работает. – Jacob
Вы проверили, что такое $ (это), когда оно передается в функцию someFunct()? можете ли вы отредактировать свой вопрос, чтобы включить то, что вы пробовали, с момента его публикации, а также результаты этого? – MuppetGrinder