<button data-bind="click: myFunction.bind($data, 'param1')">
Click me
</button>
这个场景中的$ data意味着什么,这是在文档中找到的,并且在我的代码中,但是当我执行console.log(data)时显示param1
但我希望得到点击它的元素
我的代码:
<a data-bind="click: shareSubmit.bind($data , 'test')" >Send</a>
shareSubmit = function(data){
console.log(data); ->>test
console.log(event) ???
}
我如何在shareSubmit函数中获取元素ref / event?
答案 0 :(得分:0)
您可以使用绑定中的$elemet
将已点击的元素明确传递给处理程序:
<a data-bind="click: shareSubmit.bind($data , 'test', $element)" >Send</a>
在您的处理程序中
shareSubmit = function(data, element){
console.log(data); ///->>test
console.log(element); // the clicked link
}
或者KO会自动将事件对象传递给您的处理程序,因此您查看的是未加掩饰的
<a data-bind="click: shareSubmit.bind($data , 'test')" >Send</a>
但是在你的处理程序中,你将事件作为第二个附加参数
shareSubmit: function(customParamer, currentModel, element){
console.log(customParamer); ///->>test
console.log(currentModel); // the current view model
console.log(element.target); // the clicked link
}
演示JSFIddle。