Javascript 从Fancybox iframe调用jQuery?
我使用Javascript 从Fancybox iframe调用jQuery?,javascript,jquery,iframe,fancybox,Javascript,Jquery,Iframe,Fancybox,我使用iframe在Fancybox中加载了一个页面。但是当我尝试在iframe中执行jQuery函数时,它将无法工作。如何访问iframe页面或内容,以便在该页面上执行jQuery? 我在下面试过了,但没用 jQuery(document).ready(function(){ parent.jQuery("#showcasef", jQuery.browser.msie ? parent.jQuery('body')[0] : parent.jQuery(document)).live('su
iframe
在Fancybox中加载了一个页面。但是当我尝试在iframe
中执行jQuery函数时,它将无法工作。如何访问iframe
页面或内容,以便在该页面上执行jQuery
?
我在下面试过了,但没用
jQuery(document).ready(function(){
parent.jQuery("#showcasef", jQuery.browser.msie ? parent.jQuery('body')[0] : parent.jQuery(document)).live('submit', function(e) {
e.preventDefault();
return false;
var pho_id = jQuery('#pho_id').attr('value');
var showcase =jQuery("#showcase_pho option:selected").val();
var action = "showcasep";
alert("here");
}
);
})) 您需要在该
iframe
中再次包含jQuery,或者尝试
parent.$('body').text('Does it work?');
或者如果太长,做一个包装
function $() {
return parent.jQuery.call(this, arguments);
}
如果两个文档都依赖于同一个域,则可以通过在语句前面加上“parent”来访问jQuery 例如:
<body>
<script>
alert(parent.$('body',document).html())
</script>
</body>
警报(父级.$('body',document).html())
请注意,第二个参数设置为document。建议这样做,否则上下文将是父窗口的文档,而不是iframe中的文档。
但由于我不知道这种使用是否真的安全,特别是如果您使用外部插件,我更希望使用附加插件。谢谢,但无法使其正常工作。一定是做错了什么。如果有帮助的话,我会在上面提供一个代码示例。谢谢@Pjack是同一域上的
iframe
?此外,第2行中的函数返回false。这将停止运行匿名函数的其余部分。是,它位于同一域上。哎呀,我把它移到那里是为了测试一些东西,我把它移到了最后。然而,它仍然不起作用。我是个白痴。我解决了这个问题。我有一个包含所有函数的js文件。我使用的脚本可以使用不同的头模板。页面上正在调用的标题未包含我的js文件。一旦添加,它就起作用了。嗯。谢谢你的回答。是的,我只需要再次包含jQuery和我的js文件。@Pjack很高兴你能理解它:)