Допустим, у меня есть следующий код
$("p").bind("click", function(){
alert( $(this).text() );
});
Когда пользователь нажимает <p>
, появляется предупреждение. Здесь хорошо то, что я использую ключевое слово "this".
Теперь я хочу избавиться от анонимной функции (используя ее несколько раз в сценарии);
$("p").bind("click", myfunction());
myfunction(){
alert( $(this).text() );
}
теперь это относится к окну. Как я могу это исправить?
Обновление:
Предлагаемое ответчиком решение, которое действительно работает
$(function(){
$("p").bind("click", function() { myfunction($(this));});
function myfunction(elem)
{
alert( elem.text() );
}
});
Это хорошо, но вы заканчиваете создание новой функции каждый раз, когда вызывается эта строка кода, не так ли?