jQuery .click(function() 在 Firefox 中不起作用

Posted

技术标签:

【中文标题】jQuery .click(function() 在 Firefox 中不起作用【英文标题】:jQuery .click(function() not working in Firefox 【发布时间】:2015-05-31 23:43:02 【问题描述】:

当用户使用 jQuery 单击持有图像时,我正在尝试加载 YouTube iFrame。这在除 Firefox 之外的所有浏览器中都可以正常工作。

知道是什么原因造成的吗?

对于实时示例,请访问 http://roelto.com/ 并单击主图像。您会在 Chrome、Safari、IE 中看到 iframe 加载正常,但在 Firefox 中则不然

这是我正在使用的 jQuery...

<script>
  jQuery(document).ready(function() 
    jQuery('#dna_video_thumbnail').click(function() 
      jQuery('<iframe   src="//www.youtube.com/embed/uIYa7RiDjs8" frameborder="0" allowfullscreen></iframe>').prependTo('#dna_video');
      jQuery(this).remove();
    );
  );
</script>

【问题讨论】:

你试过用最新的jQuery吗?因为当我打开控制台时,它显示无法获得某些元素的高度,这会使 JS 在 FF 中崩溃。 你试过像 $(document).on('click','yourelement',function() // to do); ? 没关系,页面上有脚本。尽管如此,dna_Scripts.js@125 中仍然有错误 【参考方案1】:

你正在调用一个函数 getHeight();在 dna_script.js 的第 125 行。它是未定义的。您可以在 Firefox 的控制台中看到这一点。

将函数声明移到函数调用上方。

【讨论】:

是的 - 你明白了 - 我应该发现了,哈哈 - 非常感谢你【参考方案2】:

使用这个:

 $(document).on('click','yourelement',function() 
$('<iframe   src="//www.youtube.com/embed/uIYa7RiDjs8" frameborder="0" allowfullscreen></iframe>').prependTo('#dna_video');
      $(this).remove();
);

【讨论】:

以上是关于jQuery .click(function() 在 Firefox 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

jquery批量绑定click事件

jQuery的("#Id").click(function(){})和("#Id").on("click",function(){})的区别

求教jquery问题:同一段代码在$(function()直接加载有效,写在click事件中无效

jquery如何click事件时候 ,让某个函数暂停或终止?

jquery 无刷新上传的小function

jquery表格列里面 click 和hover 冲突