events - Backbone.js 和 jQuery-UI 的自定义 Widget 不能和平相处吗?

标签 events jquery-ui widget bind backbone.js

我正在寻找一种方法来使用 jQuery 的自定义小部件(用于封装我的 UI 组件以及旨在在外部 DOM 上使用的内部状态和自定义事件)以及我的项目中精彩的“Backbone.js”框架。 我立即偶然发现的一个主要问题是,如果我将事件处理程序绑定(bind)到 Widget 的根元素(为了控制 Widget 的内部行为),然后将同一元素设置为 Backbone View 的根元素,Backbone 会自动取消绑定(bind) 所有预先存在的事件(由我的小部件设置)并将其替换为在 View 的“事件”哈希中指定的事件处理程序。

因此,如果我在小部件声明中设置以下事件处理程序:

var el = this.element;
el.bind("mouseenter", function (e) { el.css("backgroundImage", "url(over.png)").addClass("selected"); }).bind("mouseleave", function (e) { el.css("backgroundImage", "").removeClass("selected"); });

然后实例化我的backbone.js View :

// "Participant"'s render() creates a DIV and initializes my widget on it   
var userView = new this.Views.Participant({ model: user });
$("#somediv").append(userView.render().el);

我的鼠标事件处理程序停止响应! 有没有办法让 Backbone 管理自己的处理程序而不影响其他处理程序?

最佳答案

这个问题在backbone.js的开发版本中得到了解决(当前稳定版本3.3仍然包含这个“bug”)。您可以使用 https://github.com/documentcloud/backbone 中的快照.

关于events - Backbone.js 和 jQuery-UI 的自定义 Widget 不能和平相处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5046914/

相关文章:

javascript - 关于输入问题的文本区域

android - Android 中的 ACTION_DOWN 事件无法循环

java - 从自定义组件调用 React-native

javascript - ionic 5 : Issues in changing Events to Observable

javascript - 将可拖动元素与从父级位置开始的网格对齐

javascript - 你能推荐一个显示日历小部件的 JQuery 插件吗?

user-interface - 寻找 js(也许是 jQuery)时区(仅)控制 UI 小部件

javascript - jQuery makeDraggable 有更多技巧吗?

javascript - jQuery UI 日期选择器在 IE7 中不起作用

Android:从主屏幕小部件调用电话