javascript - 当代码操作输入时,主干 View 更改事件不会触发

标签 javascript jquery backbone.js

在我的 Backbone 模型的 View 中,我有:

events: {
    'change textarea' : 'changeContentTextarea',
    ...

当用户在文本区域中手动输入文本时,它会触发并执行以下操作:

    this.model.set('content', this.$el.find('textarea').val());

但是当程序中的内容更改时它不会触发(使用 jQuery):

    txtarea.val(finalText);

因此模型的属性不会更新,只有文本区域中的文本发生变化。

我可以绑定(bind)任何事件来解决这个问题吗? 或者如何在使用 jQuery 更改内容后触发该事件?

最佳答案

来自https://api.jquery.com/change/

Note: Changing the value of an input element using JavaScript, using .val() for example, won't fire the event.

所以你必须自己触发change事件

$("textarea").val(finalText).trigger("change");

关于javascript - 当代码操作输入时,主干 View 更改事件不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35695906/

相关文章:

javascript - Material UI - MultiSelect Popup Anchor 在选择上移动

javascript - 当 array.map 返回错误类型并忽略 'filter' 时,流程显示错误

javascript - Vue如何正确遍历列表?

javascript - 哪个更快?按ID选择,还是按索引选择?

backbone.js - 对使用 Backbone.js 和 Tastypie 从服务器预加载集合一无所知

javascript - 为什么这个结果为空

javascript - 检查数组中的部分匹配

javascript - 将 jquery/js 模板存储在单独的文件中

jQuery - html(这个);删除(这个)div

jquery - Oauth 的主干覆盖 collection.sync