我有一个显示图像的ListView,单击它可以获取图像的索引,但是当我仅将鼠标悬停在图像上时无法获取索引。
这就是我所在的地方
<img onmouseover="ImageListHover(this, $(this));" id="#=ItemID#" src="../Images/CatalogImages/#= CheckForImagesURL(FilePreview) #" alt="#: ItemName # image" />
mouseover事件上正在调用的函数是:
function ImageListHover(a, b) {
console.log("index from a is: " + a.index());
console.log("index from b is: " + b.index());
}
我正在遍历this和$(this)来查看是否可以从这两个索引中获取索引,但无济于事。
编辑
这里是代码的链接,由于我使用的是我修改的示例,因此我不得不将其放置在kendo dojo上。Example
答案 0 :(得分:1)
问题是因为您定位的img
元素不是同级,因此它们都在各自容器内的索引0
上。
要解决此问题,请为index()
提供选择器,以明确指定要在其中检索索引的集合:
function ImageListHover(a, b) {
console.log("index from b is: " + b.index('.product img'));
}
还请注意,使用on*
事件属性是一种过时的技术,应避免使用。改用不显眼的事件处理程序:
$(function() {
// your kendo setup here...
$('.product img').on('mouseenter', function() {
console.log($(this).index('.product img'));
});
});