单击“a”元素时,触发它的hover处理程序而不是转到链接
我正在使用CMS,在编辑代码方面不允许我做很多事情。
我有这个元素:
Tomatos
当hover在此链接上时会弹出一些通过CMS设置的内容。
我想点击元素,hover事件发生而不是去实际的href链接 。
这可以通过jQuery做到吗? 也许将点击事件作为hover事件发送?
您当然可以阻止单击和触发hover事件的默认操作,但由于可访问性和可用性问题 , 我不建议使用它 。
$('a').click(function(e) { e.preventDefault(); $(this).trigger('hover'); });
(这里我使用a
作为选择器,但您可能希望更具体地了解您选择的链接。)
如果当前的hover效果是通过CSS :hover
伪类完成的,则不会产生预期的结果。
jQuery的:
$( 'whatever selects your link' ).on( 'click', function( ev ){ ev.preventDefault(); // stop click event $( this ).trigger( 'hover' ); } );
使用以下脚本并触发hover
事件
$( '.menu_icon' ).click(function(){ $(this).trigger('hover'); return false; });