Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery-单击事件绑定并在页面加载时启动_Javascript_Html_Css_Jquery - Fatal编程技术网

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

Javascript jquery-单击事件绑定并在页面加载时启动,javascript,html,css,jquery,Javascript,Html,Css,Jquery,祝你星期五快乐 好的,当加载特定的div类时,绑定“click”事件时遇到了问题 发生的情况是加载时触发“单击”事件。我甚至在绑之前试过解开 onAppLoad = function() { console.log('span 4 loaded'); hovering = function() { console.log('hovering!'); } $.each($('.span4 > a'), function() { var whichApp =

祝你星期五快乐

好的,当加载特定的div类时,绑定“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());

您有一个语法错误:

 $(this).bind('click', hovering());
在这里,您正在调用函数
悬停
,而您希望它提供引用。试试这个:

 $(this).bind('click', hovering);
你的
.load()
也错了(出于同样的原因)

关于
的旁注。每个
。在迭代jquery对象时,应该这样编写:

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

您有一个语法错误:

 $(this).bind('click', hovering());
在这里,您正在调用函数
悬停
,而您希望它提供引用。试试这个:

 $(this).bind('click', hovering);
你的
.load()
也错了(出于同样的原因)

关于
的旁注。每个
。在迭代jquery对象时,应该这样编写:

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

我在您的代码中看到了几件事:
1.您缺少一个“
onAppLoad()”

2.更改
$(this.bind('click',hovering())
$(此).bind('单击',悬停)
3.更改
$('.span4').load(onAppLoad())
$('.span4').load(onAppLoad)


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

我在您的代码中看到了一些东西:
1.您缺少一个“
onAppLoad()”

2.更改
$(this.bind('click',hovering())
$(此).bind('单击',悬停)
3.更改
$('.span4').load(onAppLoad())
$('.span4').load(onAppLoad)


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

您能提供一个实例吗?您能提供一个实例吗?我不想将事件放在.ready()处理程序上,因为跨度是由php编写的。这有什么关系?它们在客户端由浏览器呈现,而不是在服务器端由PHP呈现。起初,我从理论上推断,这些跨距不会加载到.ready()上的DOM上——这就是当时我不想绑定它们的原因。但我把它切换到bind on ready,它工作得很好!我不想将事件放在.ready()上的处理程序上,因为跨度是由php编写的。这有什么关系?它们在客户端由浏览器呈现,而不是在服务器端由PHP呈现。起初,我从理论上推断,这些跨距不会加载到.ready()上的DOM上——这就是当时我不想绑定它们的原因。但我把它切换到bind on ready,它工作得很好!啊。。。你关于引用和调用的建议奏效了。也换了我的。每个都像你推荐的。谢谢!啊。。。你关于引用和调用的建议奏效了。也换了我的。每个都像你推荐的。谢谢!