2014-09-04 111 views
0
<script> 
    $(document).on('click','a',function() { 
     $.get('updateusers', function(data) { 
      $('#div1').html(data); 
     }); 
    }); 
</script> 

此脚本适用于更新特定的div,但问题在于它可以通过页面上的每个链接进行激活。这个脚本甚至受到<input type="submit">标签的影响。 例如,让页面包含两个链接仅通过特定标记更新div

<a id="link1" href="#">Update the link1 div</a> 
<a id="link2" href="#">Update the link2 div</a> 

那么如何改剧本只能由特定链路的影响,例如仅通过链接1?

+0

如果它有一个id,则指定特定的id:'a'==>'#link1'。请参阅:[jQuery选择器](http://api.jquery.com/category/selectors/) – dc5 2014-09-04 23:45:19

+0

我无法想象为什么输入会触发单击事件,除非您的输入包裹在锚点中。 – j08691 2014-09-04 23:46:26

回答

0

尝试这样:

$(document).on('click','a',function(e) { 
    if ($(e.target).attr('id') == 'link1') { 
     $.get('updateusers', function(data) { 
      $('#div1').html(data); 
     }); 
    } 
    if ($(e.target).attr('id') == 'link2') { 
     $.get('updateusers', function(data) { 
      $('#div1').html(data); 
     }); 
    } 
}); 

这将做一次检查,看看是否点击的元素有你想要的ID。