jquery - knockoutjs通过点击事件获取元素id

标签 jquery knockout.js knockout-2.0

我正在使用knockoutjs,目前我认为有些东西看起来像这样:

<img id="myTab1" data-bind="click: pressedTab.bind($data, '#myTab1')" src="images/image1.png"></img>

这允许我获取 View 模型中的元素 ID:

pressedTab = function(tab){
    console.log("Element ID: " + tab);
}

这里写道:

Element ID: #myTab1

但是,在点击事件中发送img id的名称太重复了。有没有办法在不显式重写的情况下发送 img id?

最佳答案

您实际上可以通过 KO 点击处理程序访问事件对象。

<button id="somebutton" data-bind="click: log">Click Me </button>

var ViewModel = function() {
    this.log = function(data, event) {
        console.log("you clicked " + event.target.id);
    }
};
ko.applyBindings(new ViewModel());

http://jsfiddle.net/madcapnmckay/e8JPT/

希望这有帮助。

关于jquery - knockoutjs通过点击事件获取元素id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11158045/

相关文章:

javascript - jquery中如何显示图片

javascript - 交换图标以显示相关展开或折叠

jquery - CSS:如何同时使用混合模式和过滤器

javascript - Breeze 和 knockout 未正确绑定(bind)

javascript - 取消选中大型 (1000) 数据集上的复选框时,Knockout 速度很慢

javascript - 在javascript中设置单选按钮值

arrays - knockout 购物车编辑器示例问题 : extending cascading drop-downs with nested arrays and functions

javascript - KnockoutJs - 如何限制 keydown 后的绑定(bind)

javascript - knockout 可观察数组中的错误值

javascript - knockout 计算仅在 IE 中给出函数预期错误