触发事件不起作用jquery

时间:2013-02-07 09:50:35

标签: jquery triggers

当用户点击a.test链接时,我想模拟点击li旁边的li中带有a.active的链接,但由于某种原因,我的jquery代码无效。有什么想法吗?

JQUERY

$('a.test').click(function() {
    $('a.active').parent().parent().next().find('a').trigger('click');
});

HTML

<a class="test">link</a>

<ul>
<li id="">
<div class="page">
<a class="active" href="javascript:function Z(){Z=""}Z()">1</a>
</div>
</li>
<li id="">
<div class="page">
<a class="" href="javascript:function Z(){Z=""}Z()">2</a>
</div>
</li>
<li id="">
<div class="page">...</div>
</li>
</ul>

4 个答案:

答案 0 :(得分:1)

您没有在要触发click事件的标记上绑定click事件,只需绑定它,您的代码就可以运行。

<强> Live Demo

$('a.test').click(function () {
    $('a.active').parent().parent().next().find('a').trigger('click');  
});

$('li a').click(function () {  
    alert($(this).text());
});

答案 1 :(得分:0)

doc ready处理程序中调用您的点击事件:get fiddle

$(function(){
   $('a.test').click(function() {
      $('a.active').parent().parent().next().find('a').trigger('click');
   });
});

and make sure to call the jquery library first.

答案 2 :(得分:0)

你需要在jquery范围内使用click事件处理程序而不是html中的

+你应该使用.on('click','subselector',function(){})

+你的Z函数除了清空甚至没有声明为变量的Z之外什么也不做任何事情......所以即使它点击也会触发任何事情

答案 3 :(得分:0)

请参阅:http://jsfiddle.net/FmASe/

$('a.test').click(function () {
  $('a.active').closest('li').next().find('a').trigger('click');
});

$('li a').click(function () {  
    alert($(this).text());
});

只需绑定点击事件..