Переопределение функции jQuery .val () работает, но Getter называется несколько разJquery

Программирование на jquery
Anonymous
Переопределение функции jQuery .val () работает, но Getter называется несколько раз

Сообщение Anonymous »

Я переоцениваю функцию jQuery .val () , чтобы, когда я устанавливаю значение моего элемента SELECT , я могу автоматически запустить событие изменения.
Код Getter и Setter работает нормально, однако при выполнении $ ('select'). Val () Консоль выходов Getter два раза. Я не верю, что это должно произойти, так что кто -нибудь знает, что случилось? />const originalVal = $.fn.val;

$.fn.extend( {
val: function() {
if ( arguments.length > 0 ) {
if ( $( this ).hasClass( 'myselect' ) ) {
console.log( 'Setter' );
const result = originalVal.apply( this, arguments );
$( this ).trigger( 'change' );
return result;
}
}
console.log( 'Getter' );
return originalVal.apply( this, arguments );
}
} );


Подробнее здесь: https://stackoverflow.com/questions/794 ... iple-times

Вернуться в «Jquery»