jQuery-在链接上触发一个自定义事件

jQuery - trigger a custom event on a link

本文关键字:一个 自定义 事件 链接 jQuery-      更新时间:2023-09-26

我正在尝试使用jQuery 运行此自定义"getOffer()"事件

<a href="javascript: void getOffer();" title="Submit for offer"><img src="images/img.jpeg"></a>

我尝试了以下操作,但似乎不起作用(我使用的是Firefox Firebug控制台.log窗口)

$('a[title="Submit for offer"]').trigger('getOffer');

这是我正在尝试的页面:http://bit.ly/1dpIMFk有人能提出什么想法吗?

 <a href="javascript: void getOffer();" title="Submit for offer"><img src="images/img.jpeg"></a>
$(document).ready(function(){
  $('a[title="Submit for offer"]').trigger('getOffer');
});
function getOffer(){
alert('link clicked');
}

对我来说似乎工作得很好。我想你没有把事件触发器包装在文档中。DEMO

您可以使用

<a href="#" onClick="getOffer();"><img src="images/img.jpeg"></a>

在jQuery 上创建自定义事件

首先将一些标识符(id/class)添加到您的链接

<a id="linkOffer" title="Submit for offer"><img src="images/img.jpeg"></a>

然后,创建自定义活动。

//The function that will to the getOffer things
function getOffer() {
    //Do get offer...  
}
$(document).ready(function(){
    //Custom event pointing to the function
    $('a#linkOffer').on('getoffer',getOffer);
    //Default click event
    $('a#linkOffer').on('click',function(e){
         //Do click stuff.
         //Trigger your custom event.
         $(this).trigger('getoffer');
         //If you wish to not move the page, prevent the default link click behavior (moveing to other page)
         e.preventDefault();
    });
});

触发器将不起作用,因为它搜索元素中的click属性。解决方法可以是:

将click属性添加到元素中,然后调用jquery函数。

<a href="javascript: void getOffer();" title="Submit for offer"></a>
    <button value="yu" onclick="getOffer();"/>
<script>
 $("a[title='Submit for offer']").attr("onclick",$("a[title='Submit for offer']").attr('href')); // get value from href
 $("a[title='Submit for offer']").trigger('click');  

 function getOffer()
 {
     alert('j');
 }
</script>