单击“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; });