jQuery - 触发器不产生预期的结果
jQuery - trigger not produce the expected result
在我的应用程序中,当页面加载时,我启动了 3 件事的init
函数,
-
触发器并发送页码。(我想将页面默认值传递为 1)
-
触发完成后,我想听到,所以我在听
-
同样,用户可以插入/编辑页码(文本框),因此我正在添加一个侦听器来运行。
但是当函数启动时,我正在安慰一个对象,但我得到的结果是undifined
.
这里有什么问题:
var docLoader = function (params) {
window.container = window.container || $("#tenderContent");
return {
init : function () {
this.cachePages = {};
$(document).on("newMessage", this.onPageChange);
$.event.trigger({
type: "newMessage"
});
},
onPageChange : function (e) {
console.log(this.cachePages) //undefined why?
}
}
}
网页 :
<script>
docLoader().init();
</script>
我是解耦方法的新手,有人帮我提供细节吗?
这是因为您丢失了this
上下文。 jQuery将DOM元素作为上下文传递,而不是原始上下文
您需要将函数的上下文绑定到现有this
:
$(document).on("newMessage", this.onPageChange.bind(this));
相关文章:
- 奇怪的Javascript结果
- Javascript(jQuery)给了我奇怪的结果
- JSONP请求返回结果,但也触发error_callback
- 悬停功能触发器
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- Javascript,输出结果后页面不断刷新
- 这是使用html快照和谷歌获取的预期结果吗?SEO/SPA
- 将地理编码结果转换为php变量以发布到mysql数据库
- AngularJS/HTML/Bootstrap元素用于动态搜索结果
- JQuery:向多个匹配结果添加换行符的最简单方法
- 当查询不在displayField中时,引导Ajax Typeahead不显示结果
- webpack代码拆分了handlerbs文件——结果是文件很大
- JavaScript循环无法正确计算/显示结果
- 相同的RegExp返回不同的结果-第一次是正确的结果,第二次是null
- Node.js使用Series函数(模式?)实现流控制时出现意外结果
- jQuery触发器点击未从AJAX成功工作
- 试图将onChange函数作为道具传递给GrandChlidren,结果是TypeError:这是未定义的
- jQuery使用api获取typeform结果
- jQuery - 触发器不产生预期的结果
- jquery触发器函数不工作,没有错误,也没有正确的结果