jquery - 单击事件绑定并在页面加载时启动

时间:2013-09-27 22:26:53

标签: javascript html css jquery

快乐的星期五errybody!

好吧,所以当特定类的div加载时,我无法绑定'click'事件。

在加载时会触发“click”事件。在绑定之前我甚至尝试过解绑。

onAppLoad = function() {
  console.log('span 4 loaded');

  hovering = function() {
    console.log('hovering!');
  }

  $.each($('.span4 > a'), function() {
    var whichApp = $(this).attr('data-content');

    $(this).unbind('click');
    $(this).bind('click', hovering());

  })   
}

$('.span4').load(onAppLoad());

2 个答案:

答案 0 :(得分:3)

您遇到语法错误:

 $(this).bind('click', hovering());

在这里,您要调用函数hovering,而您希望它提供参考。试试这个:

 $(this).bind('click', hovering);

你的.load()也是错的(出于同样的原因)。

$('.span4').load(onAppLoad);

关于.each的附注。当你迭代一个jquery对象时,你应该这样写:

$('.span4 > a').each(function() {})

答案 1 :(得分:1)

我看到你的代码很多事情:
你错过了onAppLoad()的结束括号 2.将$(this).bind('click', hovering());更改为$(this).bind('click', hovering);
3.将$('.span4').load(onAppLoad());更改为$('.span4').load(onAppLoad);

出于好奇,为什么不将所有事件处理程序放在$(document).ready()事件中?