我有一个下拉菜单,点击后,应打开模态对话框并关闭下拉菜单。我已将此功能存储在两个单独的函数中,如下所示:
self.toggleDropdownVisibility = function () {
self.showDropdown(!self.showDropdown());
};
// and
self.toggleModalVisibility = function () {
self.showModal(!self.showModal());
};
我的HTML是:
<li data-value="manage" data-bind="click: toggleModalVisibility, click: toggleDropdownVisibility">
然而问题是,当我使用这种语法时,只执行第一个函数(在本例中为toggleModalVisibility
),如果我颠倒了顺序,则调用toggleDropdownVisibility
。如何将两个单击事件绑定到一个元素并让它们都执行?
答案 0 :(得分:2)
添加&#34; onClick&#34;函数到您的模型并将声明性单击绑定指向该模型,然后从onClick函数调用您想要调用的两个函数。
使用Javascript:
self.toggleDropdownVisibility = function () {
self.showDropdown(!self.showDropdown());
};
self.toggleModalVisibility = function () {
self.showModal(!self.showModal());
};
self.onClick = function () {
self.toggleDropdownVisibility();
self.toggleModalVisibility();
};
HTML:
<li data-value="manage" data-bind="click: onClick">