javascript - 将 string.prototype 与 click 一起使用

标签 javascript jquery

我正在尝试创建一个名为 .Switch() 的扩展方法,如下所示:

    String.prototype.Switch = function (p) {
        console.log(this); // should log $obj
    };

    var $obj = $("div");
    $("a", $obj).click(function (e) {
        $obj.Switch(0);
    });

HTML

 <div>
   <a href="#">Link</a>
 </div>

我收到一个错误:未捕获的类型错误:未定义不是函数

有人可以告诉我这是如何完成的吗?

最佳答案

$obj 是一个 jQuery 对象,而不是字符串。如果你想给它添加功能,你应该这样做:

jQuery.fn.Switch = function (p) {
     console.log(this); // should log $obj
};

关于javascript - 将 string.prototype 与 click 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25955296/

相关文章:

javascript - Node JS Promise 的问题

javascript - 对象部分的阴影未显示 - Three.js

javascript - Angular JS 属性指令采用变量

javascript - 点击事件仅在移动设备上第二次有效,但在桌面上正常

ruby-on-rails - rails 3 : Simple AJAXy Page updates?

javascript - 包含图像网络服务的国家/地区列表

javascript - 如何在 JavaScript 中实现步进决策流程?

javascript - 覆盖 require 从 root 启动并检查 Node 模块而不更改其名称

javascript - 相当于 jQuery eq 方法的原型(prototype)

javascript 解析 <a href> 链接中的文本