gpt4 book ai didi

javascript - 为什么主干 View 会触发更改事件两次?

转载 作者:行者123 更新时间:2023-11-28 08:41:24 24 4
gpt4 key购买 nike

我的 Backbone 观点是:

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>

当我更改选择选项时,我在 console.log 中收到两个带有“事件触发”的日志。意味着事件被触发两次。为什么会这样?

以前有人发现过这个问题吗?我犯了什么错误??

最佳答案

这是 Javascript 中的一个常见错误。您可以在互联网上找到许多专门针对事件被触发两次的文章。我不喜欢 Backbone,但在 jquery 中你可以尝试这样的东西

 $(document).on('click', '#task-list li', function(e)
{
alert('Hellow world');
e.stopPropagation();
return false;
});

这绝对是 Javascript 问题,因为如果你点击 google 并搜索事件触发两次,你会发现 Angular、Jquery 和backbone 等都在某处触发事件两次甚至三次。所以,看起来这背后是 javascript 的。当然,如果您使用 Mozilla 开发者网络搜索此内容,您会发现专家也这么说。

关于javascript - 为什么主干 View 会触发更改事件两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20442079/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com