javascript - 将 jQuery 的 .val() 方法扩展到非输入元素

标签 javascript jquery

我正在编写一个基本上复制输入功能的自定义 jquery 插件。我可以解释为什么,但说实话,解释很长,我认为它与问题无关。

当我尝试将 jQuery 的 .val() 方法扩展到我的自定义 jquery 插件时,问题就来了。这是我尝试过的:

$.fn.custom_text_input = function(options){
    return this.each(function(){
        var custom_text_input = new CustomTextInput(options, this)

        $(this)[0].val = function(){
            alert('something useful')
        }
    })
}

我尝试了其他一些变体,但都无济于事。如果有人有任何可行的想法,我将不胜感激!

谢谢!

最佳答案

要覆盖 $.val() 方法,您需要执行类似 $.fn.val = function () {...} 的操作。这是一个演示:http://jsfiddle.net/CRRP5 .我建议将旧的 .val() 方法保存在一个变量中,以便在对常规表单输入调用 .val() 时可以使用它。

关于javascript - 将 jQuery 的 .val() 方法扩展到非输入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19061399/

相关文章:

javascript - ASP.NET 按钮,仅当 OnClientClick 返回 true 时才执行 OnClick

jquery - 将表单从一个 div 移动到另一个 div

javascript - JQuery 网格与传统 Web 模型的分页/排序/过滤

java - 使用 jquery 和 thymeleaf 动态显示图像

javascript - 使用 javascript 向 <div> 中的所有图像添加一个类,反之亦然

javascript - Chrome 控制台和扩展程序之间的结果不同

javascript - for 循环不起作用 p5.js

javascript - 蒙戈数据库;即使用户对象成功更新, postman 也会给出错误

javascript - 当我使用 Ajax 刷新部分页面时,JS、jQuery 不起作用

javascript - 检查日期是否在过去的 Javascript