Backbone.js html 选择/单选更改事件未触发,但单击事件是

2024-03-05

我正在学习骨干,但我一直坚持为 html 选项元素绑定 onchange 事件。

我尝试使用“change”或“change #id”进行绑定,但这些都没有触发。 但是,“click”和“click #id”事件都有效。

<div id='target'>
    <select id='abc'>
        <option value=1>1</option>
        <option value=2>2</option>
    </select>
</div>
<input type='radio' name='def' value='1' checked>1</input>
<input type='radio' name='def' value='2'>2</input>


<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js"></script>

<script>
$(function () {
    var TargetView = Backbone.View.extend({
        el: '#target',
        events: {
            'click #abc': 'onclick',
            'click input[name=def]': 'onclick',
            'change': 'onselect',
            'change input[name=def]': 'onselect',
            'change #abc': 'onselect'
        },
        onclick: function (evt) {
            console.log('click');
            console.log($(evt.currentTarget).val());
        },
        onselect: function (evt) {
            console.log('change');
        }
    });
    new TargetView();
});
</script>

我认为目前无法使用 Backbone 指定下拉列表的 onChange onSelect 事件。

解决方法是直接使用jQuery

var view = Backbone.View.extend({
    initialize:function () {
        // on click is ok
        this.model.on('click', this.click, this);
        // cannot bind using backbone events change for some reasons, have to use jquery to setup the event
        $('input[name="my-dropdown"]', this.el).on('change', $.proxy(this.onselect, this));
    }
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Backbone.js html 选择/单选更改事件未触发,但单击事件是 的相关文章

  • 为什么在 Backbone 模型中使用 getter 和 setter?

    为什么 Backbone 模型中有 getter 和 setter 没有私有 受保护的属性 因此 getter 和 setter 对于封装来说有点无用 我知道它们对于验证很有用 但除此之外 如果我们可以绕过它们 它们的用处是什么 set不是
  • 如何挂钩异步 Backbone 事件来显示 HTML

    我想做的是调用数据库 然后以 HTML 形式显示结果 我一切正常 数据从数据库返回得很好 除了我无法弄清楚如何显示数据 我知道fetch 是异步的 但我不确定如何将其连接到我的集合视图中 这是我的骨干 function window App
  • Backbone 对象渲染没有方法 apply - 绑定问题

    所以我在我的 AppView 中这样做 var flowerModel new app DataModel title flower values tulip rose dandelion dataToShow tulip rose dan
  • 如何通过 ID 以外的其他方式获取 Backbone.js 模型?

    Backbone js 通过 ID 获取模型的默认 RESTful 方法非常简单且直接 但是 我似乎找不到任何通过不同属性获取模型的示例 如何通过不同的属性获取 Backbone js 模型 var Widget Backbone Mode
  • JavaScript 错误:“不是构造函数”

    我使用backbone js以及jquery和underscore js 这是我的一些代码 它还没有做任何事情 奇怪的是 点击 url users 后没有错误 发生错误的唯一一次是当我单击转到不同的哈希 然后单击返回转到 users 时 这
  • 如何将属性传递到 Backbone 视图?

    我正在使用 Backbone v1 0 0 开发我的应用程序 在开始工作期间 现在已经更新到 v1 1 0 所以在我以前能做的地方 var myView new MyView hash something 并访问hash在视图内部使用 th
  • Backbone.js 中的分页

    我知道有一个组件可以实现此目的 但根据我所看到的 您必须创建一个扩展组件的新集合 还有另一种方法可以在主干中进行分页吗 我所需要的只是一个上一个和下一个按钮 将每页的项目限制为 12 个 我一直在 javascript 上创建它 对于生产环
  • 一次保存多个 Backbone 模型

    我有一个包含大量模型的 Backbone 集合 每当在模型上设置特定属性并保存它时 就会触发大量计算并重新渲染 UI 但是 我希望能够同时在多个模型上设置属性 并且只有在全部设置完毕后才进行保存和重新渲染 当然 我不想为一项操作发出多个 h
  • 扩展 Backbone.Collection 原型

    继从这个问题 https stackoverflow com questions 10219182 retrieve element from backbone collection removen 我正在尝试使用一些自定义方法来增强 Ba
  • Coffee HAML 中的部分内容 (.hamlc)

    我在 Rails 后端使用backbone js哈姆咖啡 https github com netzpirat haml coffee 它是由haml 咖啡 资产 https github com netzpirat haml coffee
  • 骨干木偶区域显示无渲染

    是否可以将已渲染的视图放入骨干牵线木偶区域而无需再次渲染 例如 region show myView This will call render on myView 我不希望该区域再次呈现我的视图 If I do region attach
  • 从 Backbone 检索 Rails/devise current_user

    我有一个应用程序 可以通过 Devise 管理 Rails 的注册 输入 退出 当我登录时 我被重定向到 Backbone 启动的 Dashboard index 我想以某种方式在 Backbone 中检索我的 current user i
  • 使用node.js和backbone.js进行模板渲染

    有没有人找到一个好的解决方案来开发可在服务器和客户端上使用的backbone js模板 这对于backbone js历史堆栈来说是非常理想的 因为用户可以在浏览器位置栏中共享和链接到真实的url 并且node js服务器可以在第一个页面视图
  • 重新渲染子视图后,主干事件会多次触发

    我们有一个由侧边栏和几个子视图组成的主干视图 为简单起见 我们决定让侧边栏和子视图由单个视图管理render功能 但是 那click edit单击侧边栏项目之一后 事件似乎会多次触发 例如 如果我从 常规 开始并单击 edit then h
  • 避免从主干视图重新渲染图像和其他内容

    当我重新渲染主干视图时 有什么好方法可以跳过重新渲染图像和谷歌地图等内容 每次重新渲染视图时 我的照片和地图视图都会闪烁得很厉害 这种情况很常见 特别是对于图像 模板引擎从头开始布局布局 这会导致图像标记再次从服务器或从缓存中获取位图 当然
  • Backbone.js 和 JQueryUI 对话框 - 事件未绑定

    我正在尝试在 JQuery 对话框中使用 Backbone js 我已经设法让对话框呈现并打开 但它似乎没有触发我的事件 我添加了一个测试事件来检查这一点 单击它并没有得到预期的结果 我尝试按照此说明进行操作blogpost http ba
  • 使用 Rivets.js 迭代 Backbone.js 模型的集合?

    我在用着铆钉 js http rivetsjs com 对于 Backbone 项目中的两个双向数据绑定 并且希望实现迭代绑定 文档表明迭代绑定是可能的 但没有可用的示例 我正在使用一个简单的 Rails API 将 JSON 发送到客户端
  • Backbone.js 和层次结构/树

    我正在开发一个应用程序 该应用程序需要一个表单 允许用户管理任意深度的产品类别层次结构 我可以很容易地将数据加载到页面上 但我有点不知道需要做什么才能使这样的东西与backbone js一起工作 基本上 我正在寻找嵌套的 UL 当用户选择一
  • 渐进增强 - Node.js、Backbone.js

    Node js 服务器有两个角色 前缀为 api 的路由上的 RESTFul API 在其他路线上呈现网站页面 plans features terms 目前 我的所有页面都会呈现一个 正在加载页面 并与 Backbone router 启
  • 与 jQuery 配合使用的backbone.js 替代品?

    有没有像backbone js这样的东西的替代品 它为你的前端javascript提供了一些框架 结构 但没有任何不需要的依赖项 并且与jQuery更紧密地结合在一起 您需要一个易于使用的 MVC 框架吗 因为Sammy js http s

随机推荐