jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了JQuery SVG对象:正确捕获点击事件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
好的,我正在尝试捕获菜单项上的点击事件

这是我的HTML

<nav>
<ul>
    <li class="active left" id="profileLink">
        <object type="image/svg+xml" data="public/img/nav/profile.svg">    
                <img src="public/img/nav/profile.png" alt="Blue Square"/>     
        </object>
    </li>
    <li class="left" id="suggestionsLink">
        <object type="image/svg+xml" data="public/img/nav/suggestions.svg">    
                <img src="public/img/nav/suggestions.png" alt="Blue Square"/>     
        </object>
    </li>
    <li class="right" id="setTingsLink">
        <object type="image/svg+xml" data="public/img/nav/setTings.svg">    
                <img src="public/img/nav/setTings.png" alt="Blue Square"/>     
        </object>
    </li>
    <li class="right" id="statisticsLink">
        <object type="image/svg+xml" data="public/img/nav/statistics.svg">    
                <img src="public/img/nav/statistics.png" alt="Blue Square"/>     
        </object>
    </li>

    <li class="middle" id="friendsLink">
        <object type="image/svg+xml" data="public/img/nav/friends.svg">    
                <img src="public/img/nav/friends.png" alt="Blue Square"/>     
        </object>
    </li>
</ul>

这是我正在使用的脚本:

$("#wrapper").on("click",'#friendsLink',function(){
       console.log('test');
       loadFriends();
    });

当我使用脚本选择一个简单的a-tag时,它工作正常,但在这个svg对象上它根本不起作用.请注意,单击li元素的填充区域时,它确实有效.但在点击svg-image区域时却没有.

这个帖子中的帖子表明svg dom与html dom不同,因此jquerys事件失败了.

jQuery Selector + SVG Incompatible?

尝试处理svg元素上的点击事件时,该怎么办

帮助非常感谢

解决方法

如果你想使用< object>你必须将点击处理放在svg内容上,即< svg> public / img / nav / profile.svg等的根元素

如果想按原样保持处理,则需要使用< image>元素为< svg>容器而不是< object>元件.这有其自身的限制,例如没有脚本和没有后备.

第三种选择可能是在每个svg元素上放置一个绝对定位的透明div,并在其上处理onclick.

您必须选择最适合您需求的解决方案.

大佬总结

以上是大佬教程为你收集整理的JQuery SVG对象:正确捕获点击事件全部内容,希望文章能够帮你解决JQuery SVG对象:正确捕获点击事件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。