由代码操作输入时不触发主干视图更改事件
Backbone view change event not firing when input manipulated by code
在我的骨干模型的视图中,我有:
events: {
'change textarea' : 'changeContentTextarea',
...
当用户在文本区域中手动输入文本时,它会触发并执行以下操作:
this.model.set('content', this.$el.find('textarea').val());
但是当程序中的内容被更改时(使用jQuery),它不会触发:
txtarea.val(finalText);
因此,模型的属性不会更新,只有文本区域中的文本会更改。
是否有任何事件可以绑定来解决此问题?或者,在使用 jQuery 更改内容后如何触发事件?
来自 https://api.jquery.com/change/
注意:使用 JavaScript 更改输入元素的值,例如使用 .val(),不会触发事件。
所以你必须自己触发change
事件
$("textarea").val(finalText).trigger("change");
下面的答案是正确的,只有当你需要知道事件是由用户还是由JS触发时,你才能这样做:
$("textarea").val(finalText).trigger("customChange");
并像这样定义侦听事件:
events: {
'customChange textarea' : 'doSomethingWithJSEvent',
相关文章:
- 取消绑定主干视图事件
- 更改el属性时未激发主干视图事件
- angularjs中的SyncFusion树视图事件
- 在视图被替换后,主干视图事件未激发,然后放回页面上
- 主干视图事件绑定较晚
- 主干视图事件未触发 - 不知道原因
- Aurelia:调整大小/布局更改视图事件
- 主干 - 在模型更改时取消注册视图事件
- 在单页应用程序上实现Google Analytics页面视图事件的行为很奇怪
- 单击时呈现视图事件
- 木偶的复合视图事件未触发
- 主干,触发视图事件
- 主干视图事件仅在视图呈现后触发一次
- Dropzone.js AMD内部Backbone视图事件
- 提升骨干.js视图事件
- ExtjsMVC嵌套视图事件和异步函数
- 复选框和标签的主干视图事件处理程序
- 主干-从子视图触发父视图事件
- 骨干视图事件没有触发
- 在父元素上注册视图事件