javascript - this 指的是单击的对象而不是 namespace

标签 javascript jquery namespaces scope

假设我有一个 namespace和几个function s ,例如这样:

HTML

<input type="button" class="btn" value="click">

JAVASCRIPT

var nms = {
 doAlert: function(){
     alert('doing alert');
     console.log(this);
 },
 bindBtn: function(){
     var that = this;
     $('.btn').on('click', that.doAlert);
 }

}

nms.bindBtn();

log打印<input type="button" class="btn" value="click"> ,换句话说,this指的是我正在执行 function 的元素英寸。

这可能是我的不足,但我想了解如何引用nms而不是input 。如果可能,使用 this

最佳答案

您应该使用proxy() jquery应用特定上下文的方法:

$('.btn').on('click', $.proxy( this.doAlert, this ));

DEMO

关于javascript - this 指的是单击的对象而不是 namespace ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17629743/

相关文章:

javascript - 使用 jQuery 为表格制作动画

javascript - 如何在元素上添加监听器以在元素发生任何更新时触发事件?

css - 自动 'namespacing' CSS

namespaces - 命名空间设计和类意识

java - 使用 java.lang.reflect.Array.newInstance 通过 Java 反射创建二维数组

javascript - 如何更改 fullcalendar jquery 中的参数名称 "title"、 "start"和 "end"

php - JQuery AJAX 发布并刷新页面内容,无需重新加载页面

javascript - 使用相对级别位置定位通用名称的 div 属性

javascript - 模态跨度 - Twitter Bootstrap 2

c# - XML 命名空间数据元素访问返回 null