javascript - jQuery - 检测使用 .val() 函数的值变化

标签 javascript jquery

我们都知道使用val()不会触发change事件,所以我们也使用.trigger('change')val() 后面。

但问题是有人编写了 val() 并没有使用 trigger() 并且它是一个我无法编辑的外部文件。

那么,我如何通过如下代码检测值的变化:

$('.elem').on('change', function(){
   // do something
});

最佳答案

我的建议是覆盖 jquery 的 val()

var originalValFn = jQuery.fn.val;

jQuery.fn.val = function() {
    this.trigger('change');
    originalValFn.apply( this, arguments );
}

jsfiddle:http://jsfiddle.net/2L7hohjz/js

关于javascript - jQuery - 检测使用 .val() 函数的值变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27477151/

相关文章:

javascript - 使用 JavaScript 提交 Ajax.BeginForm()

javascript - Jquery 根据单选按钮值(或其他方式)更改选择框值

javascript - jQuery 摆脱嵌套的 ajax 函数

javascript - 担心两个 Sprite 之间的碰撞

javascript - 使用 Javascript 从 HTML 中提取 URL 并在函数中使用它

javascript - 选择行时启用自定义按钮(默认情况下禁用)

JavaScript:如何对两个输入数组上基于匹配字段的二维数组进行分组?

javascript - Swiper - 方法不起作用 - mySwiper.slideTo 不是函数

php - 如何处理使用不同方法登录的用户

javascript - 获取具有特定 STYLE 属性的每个 HTML 对象