Сделал простенький плагин, обертывающий текстовый input лейблом и при нажатии Enter, должно срабатывать событие onEnterPress:
(function($){<br>
var defaults = {};<br>
$.fn.textWrap = function(params) {<br>
var options = $.extend({}, defaults, params);<br>
return this.each(function() {<br>
$(this).wrap('<label class="tWrap"></label>').keypress(function(e) {<br>
code = (e.keyCode ? e.keyCode : e.which);<br>
if (code == 13) $(this).trigger('onEnterPress');<br>
});<br>
});<br>
};<br>
})(jQuery);<br>
<br>
// Применяем плагин, обертывание срабатывает<br>
$('#inputText').textWrap();<br>
Теперь хочу к объектам, к которым применен плагин, примастырить событие onEnterPress, которое можно будет вызвать так:
$('#inputText').onEnterPress(function() {<br>
// Не работает, выдает ошибку Object [object Object] has no method onEnterPress<br>
alert('ENTER PRESSED');<br>
});<br>
а не через bind:
$('#inputText').bind('onEnterPress', function() {<br>
// Это успешно срабатывает<br>
alert('ENTER PRESSED');<br>
});<br>