Javascript 当代码操纵输入时,主干视图更改事件未触发
在我的主干模型看来,我有:Javascript 当代码操纵输入时,主干视图更改事件未触发,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,在我的主干模型看来,我有: events: { 'change textarea' : 'changeContentTextarea', ... 当用户在文本区域手动输入文本时,会触发并执行以下操作: this.model.set('content', this.$el.find('textarea').val()); 但在程序中更改内容时(使用jQuery),它不会触发: 因此,模型的属性不会更新,只会更改textarea中的文本 我是否可以绑定任何事件来解决此问题
events: {
'change textarea' : 'changeContentTextarea',
...
当用户在文本区域手动输入文本时,会触发并执行以下操作:
this.model.set('content', this.$el.find('textarea').val());
但在程序中更改内容时(使用jQuery),它不会触发:
因此,模型的属性不会更新,只会更改textarea中的文本
我是否可以绑定任何事件来解决此问题?
或者,在使用jQuery更改内容后如何触发事件?From
注意:使用JavaScript(例如使用.val()更改输入元素的值)不会触发事件
因此,您必须自己触发change
事件
$("textarea").val(finalText).trigger("change");
从
注意:使用JavaScript(例如使用.val()更改输入元素的值)不会触发事件
因此,您必须自己触发change
事件
$("textarea").val(finalText).trigger("change");
下面的答案是正确的,只有当您需要知道事件是由用户还是由JS触发时,才可以这样做:
$("textarea").val(finalText).trigger("customChange");
并定义如下所示的侦听事件:
events: {
'customChange textarea' : 'doSomethingWithJSEvent',
下面的答案是正确的,只有当您需要知道事件是由用户还是由JS触发时,才可以这样做:
$("textarea").val(finalText).trigger("customChange");
并定义如下所示的侦听事件:
events: {
'customChange textarea' : 'doSomethingWithJSEvent',