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的("#Id").click(function(){})和("#Id").on("click",function(){})的区别
求教jquery问题:同一段代码在$(function()直接加载有效,写在click事件中无效