1

如果单击的链接是artist_link. 我需要这样做的原因是因为我有一个历史 API 脚本,如果单击此链接,则该脚本需要运行。它在页面加载时运行,但由于内容中的历史 api ajax 没有页面加载。

这就是我所拥有的;

if ($('a').attr('id') == 'artist_link'){ alert ('hello'); }

好吧,我应该解释一下。它必须是if子句,因为只有在单击的链接具有该特定 ID时才会运行脚本。该子句在 AJAX 请求中,该请求是我的历史 API 脚本的一部分。

$.ajax({
    url: url,
    type: 'GET',
    dataType: "html",
    success: function (responseData) {

        $("#main").hide().html($("#load", responseData)).fadeIn(500); //fadeIn new page
        if (url =='Home'){
         $.ajax({
         type: "GET",
         url: "AJAX/request_feed.js",
         dataType: "script"
         });
        }
        if (url =='Discover'){

         $.ajax({
         type: "GET",
         url: "AJAX/get_artists.js",
         dataType: "script"
         });

         }

         if ($('a').attr('id') === 'artist_link'){ alert ('hello'); }   
    },
    error: function (jqXHR, textStatus, errorThrown) {
        window.location.replace("404");
    }
});

更新:

此外,点击功能就在历史脚本的开头,所以我只需要确定a点击的是否有那个特定的 ID

$(document).on("click", "a", function (event) {
4

2 回答 2

3

如果单击的链接是 Artist_link,我需要运行脚本

那么仅仅定位ID并设置点击功能有什么问题呢?

$("#artist_link").on('click', function() {
    alert('hello');
});

编辑:

$(document).on("click", "a", function (event) {
   //do ajax stuff here
   if (event.target.id=='artist_link') {
       //do some stuff if the right link was clicked ...
       //make sure you don't redefine the event, and it will be available in
       //the ajax functions scope as well (as long as it's inside the click function)
   }
});
于 2012-10-29T21:06:33.783 回答
1

如果您在页面加载后动态添加 HTML 元素,请使用此

$(document).on('click', '#artist_link', function() {
    alert('hello');
});
于 2012-10-29T21:08:23.207 回答