如何在 onmouseover 事件中从 ListView 获取图像索引?
How to get index of image from ListView on onmouseover event?
我有一个显示图片的 ListView,单击它后可以获得图片的索引,但是当我只将鼠标悬停在图片上时无法获取索引。
我在这里:
<img onmouseover="ImageListHover(this, $(this));" id="#=ItemID#" src="../Images/CatalogImages/#= CheckForImagesURL(FilePreview) #" alt="#: ItemName # image" />
在鼠标悬停事件上调用的函数是:
function ImageListHover(a, b) {
console.log("index from a is: " + a.index());
console.log("index from b is: " + b.index());
}
我正在传递 this 和 $(this) 以查看是否可以从其中任何一个获取索引但无济于事。
编辑
这是代码的 link,我不得不将它放在 kendo dojo 上,因为我使用的是我修改过的示例..Example
问题是因为您定位的 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'));
});
});
我有一个显示图片的 ListView,单击它后可以获得图片的索引,但是当我只将鼠标悬停在图片上时无法获取索引。
我在这里:
<img onmouseover="ImageListHover(this, $(this));" id="#=ItemID#" src="../Images/CatalogImages/#= CheckForImagesURL(FilePreview) #" alt="#: ItemName # image" />
在鼠标悬停事件上调用的函数是:
function ImageListHover(a, b) {
console.log("index from a is: " + a.index());
console.log("index from b is: " + b.index());
}
我正在传递 this 和 $(this) 以查看是否可以从其中任何一个获取索引但无济于事。
编辑
这是代码的 link,我不得不将它放在 kendo dojo 上,因为我使用的是我修改过的示例..Example
问题是因为您定位的 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'));
});
});