如何在jQuery valHooks中调用默认行为?

时间:2015-03-09 04:32:26

标签: jquery valhooks

这个问题解释了valHooks What are jQuery valHooks?

在某些情况下,我想拦截$.val()的行为。也就是说,注入一些功能,然后调用val()的默认行为。

有可能吗?

2 个答案:

答案 0 :(得分:0)

只需返回undefined

valHooks显然没有记录在jQuery的网站上,所以我猜它都是非正式的,可能会改变,但与此同时...

我实际上想要修改输入它的用户和阅读它的webapp之间的值以及我发现的关于valHooks的博客文章没有告诉我返回我的新值,所以默认情况下我的调试{已打印{1}},但应用程序未受影响。

所以这应该为你做。

答案 1 :(得分:0)

下面显示了在调用.val()来设置<select>元素的值时如何调用自定义代码:

(function() {
    var origValHooksSelectSet = $.valHooks.select.set;

    $.valHooks.select.set = function(select, value) {
        var result = origValHooksSelectSet.call(this, select, value);

        // Custom code goes here.

        return result;
    };
})();

origValHooksSelectSet变量引用原始函数,因此可以在新函数中调用它。一切都包裹在立即调用的函数表达式(IIFE)中,因此origValHooksSelectSet变量不是全局变量,但仍可以在新函数中用作闭合变量。