【发布时间】:2012-10-25 22:56:39
【问题描述】:
在我的最新代码中,我在 textarea 上有一个 focus 的事件处理程序。当用户点击 textarea 时,会触发该事件处理程序,它会根据选定的 textarea 设置一些其他 DOM 状态。但是,在我的程序的其他地方,我想以编程方式设置 textarea 的 focus 而不触发该事件处理程序。例如,我知道 Backbone 可以通过 silently 执行操作。
我唯一的伪解决方案是临时设置一个变量:
var silence = true;
然后,在我的事件处理程序中,仅当静音为假时才执行逻辑。处理程序仍然被触发,但逻辑没有运行。
还有其他人知道更好的策略吗?
【问题讨论】:
-
你用什么来绑定事件,jQuery?
-
我实际上在这个特定项目中使用 Meteor github.com/meteor/meteor,所以我主要对 vanilla JS 解决方案感兴趣,但 jQuery 也很好。
标签: javascript events event-handling