我试图让 2 个函数仅运行到一个数据绑定(bind)中,但我遇到了一些问题,因为其中一个函数在 HTML 中运行,我无法更改这一点。我用谷歌搜索了这个问题并得到了答案:
click:function(key){text: text}, click:callFunction()
但这不起作用。第二次点击绑定(bind)有效,但第一次点击绑定(bind)无效。
这是我的按钮:
<button data-bind="attr: {for: 'CC-prodDetails-' + $data.value}, text:key,
click:function(key){
$parent.selectedOption(key);
$parent.selectedOptionValue(key);
}" class="volt"></button>
这是我需要运行的函数:
changeClass: function () {
$("button.volt").toggleClass('voltActive');
},
有人可以帮助我吗? 将 HTML 函数放在另一个函数中或将其更改为 JS 是不可能的。
最佳答案
通过将 JS 函数包装在 HTML 函数中,您可以同时调用 HTML 函数和 JS 函数。提供给 HTML 函数的第一个参数是当前绑定(bind)模型:
ko.applyBindings({
myJsFunction: function() { console.log('JS function called'); }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<button data-bind="click: function(model) { console.log('HTML function called'); model.myJsFunction(); }">Click me</button>
关于javascript - 如何仅使用一个数据绑定(bind)来调用 2 个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55403299/