为什么主干视图触发更改事件两次
Why backbone view fires change event twice?
我的主干视图为:
var aView = Backbone.view.extend({
events: {
'change #select-opr': 'changeOperation'
},
initialize: function () {},
render: function () {},
changeOperation: function () {
console.log("event triggered.");
}
});
更改事件与选择下拉列表相关联。
<select name="operation" id="select-opr" style="height: 29px;">
<option>Select an Attribute</option>
<option value="method">Method</option>
<option value="project">Project</option>
</select>
当我更改select选项时,我会在console.log中获得两个带有'event triggered'
的日志。这意味着事件会被触发两次。为什么会这样?
以前有人发现这个问题吗?我犯了什么错误??
这是Javascript中常见的Bug。你可以在网上找到很多文章,特别是关于被解雇两次事件的SO。我不是Backbone的粉丝,但在jquery中,你可以尝试这样的
$(document).on('click', '#task-list li', function(e)
{
alert('Hellow world');
e.stopPropagation();
return false;
});
这肯定是Javascript的问题,因为如果你在谷歌上搜索事件触发两次,你会发现Angular、Jquery和主干网等都在某个地方触发事件两次甚至三次。所以,这背后似乎是javascript。当然,如果你用Mozilla开发者网络搜索这个,你可以看到专家也这么说
我不确定您想要实现什么,但您应该将changeOperation
绑定到所选选项而不是选择吗?
相关文章:
- Jquery点击事件必须点击两次
- 一次点击,两次'单击'事件已启动
- 替换的超时事件触发两次或两次以上(有时)
- jquery on触发器按键事件两次
- 骨干视图触发事件两次
- animationEnd 事件处理程序 - 事件侦听两次
- 触发的事件被接收两次.如何找到鬼视图
- 服务器触发客户端事件两次
- `object:selected`事件触发两次
- 如何处理iframe中两次或根本不触发的IE11 localStorage事件
- 为什么主干视图触发更改事件两次
- Node.js Http服务器,readstream结束事件两次触发console.log
- 父DOM元素是否侦听事件两次
- 双击激发事件两次
- 按钮由数据表生成,运行事件两次
- jQuery问题|需要触发事件两次才能正常工作
- Jquery UI贪婪可丢弃火事件两次
- Gumby Framework-JQuery触发onclick事件两次
- jquery.on()触发事件两次
- 页面刷新绑定主干事件两次