如何在超链接文本上调用函数单击

时间:2013-06-08 14:35:11

标签: javascript jquery javascript-events

如何通过单击文本(item.name)来调用此* on_search *函数?

$.each(docs, function(i, item) {
            $('#body').append($('<div><a href="">' + item.name </a></div><br/>'));
       });

// call this function whenever user clicks the text
function on_search() {            
     var url ='http:myhomepage/select/?wt=json&json.wrf=?&q='+item.name;
     $.getJSON(url, on_text);
    }

3 个答案:

答案 0 :(得分:0)

在事件处理程序中设置一个类。

   $.each(docs, function(i, item) {
                $('#body').append($('<div><a href="" class="my-anchor">' + item.name </a></div><br/>'));
    $(".my-anchor").click(on_search);
           });

    // call this function whenever user clicks the text
    function on_search() {            
         var url ='http:myhomepage/select/?wt=json&json.wrf=?&q='+item.name;
         $.getJSON(url, on_text);
        }

答案 1 :(得分:0)

不确定每个链接是否需要包装在自己的div中。事实上,为了使这项工作更好,您可能希望将所有这些链接放在特定的div中。

从那里开始,这就是你做的事情:

$('#divName').find('a').click(function (event) {
    var url=...
    event.preventDefault(); // Stops the browser from actually following the link
    [...]
});

答案 2 :(得分:0)

如果您添加了ID或类,则只需添加

即可
   $('.yourClass').click(function()
    {
        var x = $(this).attr('href');
        on_search();
        // you would probably want to pass the item name as a parameter: on_search(x);
    });