Обернуть существующее событие jquery значениями по умолчанию - PullRequest
2 голосов
/ 17 марта 2011

Я пытаюсь выяснить, как можно обернуть событие клика. Например, это код, который я хочу.

$("#test").aclick(function() {
    alert('hi');
});

Единственное, что делает aclick - это автоматически использует e.preventDefault. Это что-то вроде?

$.fn.aclick = function(e) {
   e.preventDefault();
   return $.fn.click.apply(this, arguments);
});

Спасибо.

1 Ответ

1 голос
/ 17 марта 2011

Когда связывает обработчик, объект события e еще не существует. Вам нужно создать обработчик событий по умолчанию, который вызывает предоставленный:

$.fn.aclick = function (handler) {
    return this.each(function () {
        var el = this;
        $(el).click(function (e) {
            e.preventDefault();
            handler.call(el, e);
        });
    });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...