2012-06-27 4 views
1

Это способ настроить мое событие для вызова функции?Правильный способ установки вызова функции из события?

У меня есть это в document.ready

$(document).on('change', "[data-viewlink]", 
    function() 
    { 
     UpdateViewLink($(this).attr("id")); 
    } 
); 

UpdateViewLink() функция окружена function(). Это единственный звонок, и мне интересно, требуется ли function(){}. Правильно ли это установить?

Я также звоню UpdateViewLink() из обычных функций.

+0

Что вы собираетесь переходить в UpdateViewLink? –

+0

Зависит от реализации UpdateViewLink. Вы не можете передавать ему параметры (за исключением jQuery-provided 'this' to), если вы не используете закрытие. – millimoose

ответ

3

Это необходимо, если вы действительно хотите передать id как аргумент UpdateViewLink.

Однако, вы можете использовать вместо этого:

$(document).on('change', "[data-viewlink]", UpdateViewLink); 

Идентификатор измененного элемента будет доступна внутри UpdateViewLinkthis.id, как. Так что это зависит от того, можете ли вы изменить UpdateViewLink, или нет.

+1

Также избегайте '$ (this) .attr (" id ")'. Нет необходимости создавать новый объект jQuery только для доступа к id, который напрямую доступен как 'this.id' на любом узле DOM. – bfavaretto