javascript - onSet 函数不会在 div 上触发

标签 javascript jquery backbone.js backbone-stickit

我正在研究如何通过自定义事件触发 Stickit onSet 事件。

在下面的代码中,colorChange 事件正确发生,并且所有绑定(bind)(stickit)事件也正常工作,但 onSet 事件除外。

谁能指出错误的地方吗?

bindings: {
  '#color1': {
    observe: 'color1',
    update : function($el,val){
      $el.css("background-color",val);
    },
    onSet : function(){
    //never get fired
    },
    events : ["colorChange"]
  }
}

events : {
  "colorChange" : function(){
    //the event is occurring
  }
}

//somewhere

$("#color1").trigger("colorChange");

<!-- in the html -->
<div id="color1"></div>

最佳答案

Stickit 在表单元素上使用 2 种方式绑定(bind),分别是 input、textarea、input[type=checkbox]、input[type=radio]、select;对于其他一切,StickIt 均采用单向绑定(bind)。

您应该在表单元素上指定color1 id。

关于javascript - onSet 函数不会在 div 上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27772640/

相关文章:

javascript - 确认框不显示并自动删除

javascript - 连续播放 mp3 声音样本时 Phaser 警告 "Audio source already exists"

javascript - 如何在另一个JavaScript文件中包含一个JavaScript文件?

javascript - 如何防止 Backbone 和 Node.js/Hapi 出现 CORB 错误?

javascript - 使用 AngularJs 更改输入日期的格式未按预期工作

javascript - GPS 关闭时地理定位不起作用

jquery - 清理粘贴的文本在 safari 中不起作用

javascript - 返回页面加载?

javascript - 在 Backbone View 中添加下拉菜单

javascript - 如何将 Node.js、MongoDb 和 Backbone.js 组合在一个应用程序中?