javascript - 使用 jQuery 触发 View 事件

标签 javascript jquery backbone.js

我有一个包含简单事件的主干 View :

Backbone.View.extend({
    events: {
        "change #id": "idChanged"
    },
    idChanged: function () {}
    initialize: function () {
        /* construct HTML */

        $("#id").trigger("change");
    }
});

但是,这不会触发 idChanged 事件。当我使用浏览器更改 #id 时,它确实会触发。如何触发 Backbone View 事件?

最佳答案

代码中的一些内容。

1 我认为您没有正确定义事件。

它应该是一个哈希值,或者是一个返回哈希值的函数,如下所示:

events: {
    "change #id": "idChanged"
}

2 一些拼写错误,例如“function”和缺少逗号

然后,为了使事件起作用,定义的 #id 元素必须位于 View 的 el 内部。如果元素在 View 之外,它就不起作用。

此外,您无法在初始化中触发该函数,因为在执行该函数之前, View 尚未完全初始化。 :)

这是一个工作示例:

http://jsfiddle.net/3KmzQ/

关于javascript - 使用 jQuery 触发 View 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22357717/

相关文章:

javascript - 自动调整元素的高度

javascript - Javascript 中的正则表达式、逗号和句点

javascript - WebRTC - 可扩展的实时流广播/多播

Backbone.js - "Object [object Object] has no method ' listenTo'"

javascript - 何时在 Backbone View 中应用 jQuery 代码

javascript - JavaScript 中回调函数的替代方案

javascript - 使用 jQuery 选择器定位并替换包含 HTML 的字符串中的元素

javascript - 多个类名之间的jQuery点击功能

javascript - 具有不可点击元素的可点击 div。

javascript - Backbone View 有问题