#jquery-plugins #jquery
#jquery-плагины #jquery
Вопрос:
Кто-нибудь, кто использовал плагин простого подтверждения jQuery, сталкивался с этой проблемой — кнопка, к которой привязано поле подтверждения, теряет исходное событие нажатия после первого нажатия? Мне пришлось изменить код плагина на это, чтобы заставить его работать. Разница здесь между .bind и .click . Кто-нибудь может объяснить, почему? Пожалуйста. дайте мне знать, если мой вопрос неясен. Спасибо!
Исходный код плагина:
// Re-bind old events
var rebindHandlers = function () {
if (target._handlers != undefined) {
jQuery.each(target._handlers, function () {
//this is the difference
$target.bind(type, this);
});
}
}
Изменен (рабочий) код:
// Re-bind old events
var rebindHandlers = function () {
if (target._handlers != undefined) {
jQuery.each(target._handlers, function () {
//this is the difference
if(type == 'click')
$target.click(this);
else {
$target.bind(type, this);
}
});
}
}
Ответ №1:
Попробуйте использовать некоторые оповещения, чтобы увидеть, что происходит…
// Re-bind old events
var rebindHandlers = function () {
if (target._handlers != undefined) {
jQuery.each(target._handlers, function () {
if(type == 'click')
alert('$target.click(' this ');');
//$target.click(this);
else {
alert('$target.bind(' type ', ' this ');');
//$target.bind(type, this);
}
});
}
}