简单的jquery live(点击)由于某种原因无法正常工作

时间:2011-06-23 23:02:53

标签: jquery

如果您查看http://social.allthingswebdesign.com,请点击“获取社交”链接,共有6个图标。我正试图让点击图标下方的三角形。

我从下面的代码开始,但是我无法在firebug的控制台中显示任何内容。我有什么优惠?

$('.pic').live('click', function() {
    console.log('in here???');
});

3 个答案:

答案 0 :(得分:2)

我认为问题很可能是“标签”插件正在杀死你的“点击”事件,阻止它们冒泡到身体。

编辑 - 似乎“tabs”插件允许你给它一个“click”处理程序,我认为应该返回“true”以使其工作:

$("ul.idTabs").idTabs({
  click: function() {
    console.log('in here???');
    $('#innest .idTabs li a').remove('#triangle');
    $(this).append('<img id="triangle" src="triangle.png" />');
    return true; // I think
  }
});

我不知道为什么你要动态添加所有HTML。为什么不直接将它包含在页面中并隐藏它直到你需要它?在JavaScript代码的中间包含大量标记,这非常麻烦且容易出错。

答案 1 :(得分:1)

删除idTabs并继续:

$('.pic').live('click', function(){
  $('.contentArea').hide();
  $('#' + $(this).attr('href')).show();

  // Your triangle logic goes here.
});

答案 2 :(得分:0)

这是你的idTabs插件导致问题,取出来写出console.log。

我尝试使用开发者网站上的测试版,但这继续阻止其他工作。

我很想写你自己的jQuery来做你想做的事情,与一个大插件相比它只会是几行,你可以肯定它不会搞砸任何其他东西。