给定一个jQuery mouseover事件,在该事件中您可以得到e。如何获取触发它的项目的宽度?
我有一个jQuery鼠标悬停事件,如下所示:给定一个jQuery mouseover事件,在该事件中您可以得到e。如何获取触发它的项目的宽度?,jquery,Jquery,我有一个jQuery鼠标悬停事件,如下所示: $('#outer').mouseover(function() { console.log( e.target.width() ); }); 我正在尝试上述方法,但不起作用。如何获得触发鼠标悬停的元素的宽度 谢谢如果不想传递事件对象,还可以执行以下操作: $('#outer').mouseover(function () { console.log($(this).width()); }); 作为参数$('#ou
$('#outer').mouseover(function() {
console.log( e.target.width() );
});
我正在尝试上述方法,但不起作用。如何获得触发鼠标悬停的元素的宽度
谢谢如果不想传递事件对象,还可以执行以下操作:
$('#outer').mouseover(function () {
console.log($(this).width());
});
作为参数
$('#outer')传递。mouseover(函数(e){
谢谢,尝试了它总是输出0…这是一个svg路径元素,不确定这是否重要。您可以改为尝试:console.log(e.target.width,e.target.getAttribute(“width”),e.target.offsetWidth);
并查看是否所有输出都是0:未定义的null 0Tryconsole.log(e.target.getTotalLength())
Path
元素不会像普通html元素那样具有任何标准宽度属性或方法。请注意,如果e.target
不是Path
元素,这将失败,因为普通元素没有getTotalLength
方法是的,我浏览了svgpatheElement
和t的所有方法我能得到的只有:(.由于某些原因,元素中的所有宽度/高度属性都设置为0。您可以在google chrome控制台中键入此项以获取方法列表:svgpatheElement.prototype;
尝试使用以下错误:6492未捕获类型错误:无法读取未定义的属性“defaultView”。这是一个更好的解决方案,因为某些浏览器使用不同的获取方法使用事件目标,如e.srcelment
,etcbtw,尝试在另一个控件(如div
)中扭曲svg,并将其用于宽度,可以看到它在svg位于div中之前工作,但在svg中有几个路径元素。您可以发布svg
元素,或它的一些简化版本,以便使用吗
$('#outer').mouseover(function () {
console.log($(this).width());
});