获取已淘汰的已点击元素的索引
获取无序列表的clicked元素索引的最佳方法是什么?
让我举个例子。 说我有以下HTML代码:
-
现在我有以下javascript代码来获取索引:
…
self.itemClicked = function(data, item) { var index = $(item.target).index(); }
…
但问题是如果目标元素是
,例如,我得到的结果不正确。 那么我应该如何获得点击的
我建议使用Knockout的$index
context属性。 见下面的例子( JsFiddle ):
HTML
-
JavaScript的
var vmodel = { listItems: ko.observableArray([ {title: "Able"}, {title: "Baker"}, {title: "Charlie"}]), itemClicked: function(index) { alert(index); } }; ko.applyBindings(vmodel);
而不是弄乱你的绑定,在事件函数中获取索引更漂亮。 您可以使用ko.contextFor(element)
从event.target
获取绑定上下文
self.click = function (data, event) { var context = ko.contextFor(event.target); console.log(context.$index()); };