jquery - iframe内容文本单击事件无效

时间:2015-09-17 08:45:20

标签: jquery iframe

我正在使用菜单类型,并且iframe中的相应内容加载具有相同的域网址。 当点击iframe内容中的div(使用类名)时,我需要重新加载网址。

我尝试了以下代码。

Html代码:

function resfreshJSTree(treeDataa) {
    $('#tree_2').jstree(true).settings.core.data = treeDataa;
    $('#tree_2').jstree("refresh");

}

Js代码:

<ul>
<li href="http://mywebsite/contact">contact</li>
<li href="http://mywebsite/faq">faq</li>
<li href="http://mywebsite/abcd">abcd</li>
</ul>

<iframe  class="embed-responsive-item" src="http://mywebsite/contact" id="right_content_iframe" scrolling="no" frameborder="0" style="width:100%;border:0px;min-height:500px;" ></iframe>

默认联系页面将加载到iframe中。 当我点击常见问题链接iframe网址加载http://mywebsite/faq时。在我点击常见问题页面中的div(.page_refres)时,我需要重新加载网址。

常见问题页面:

$(document).ready(function() {
        $('ul.li').click(function(e) {
            e.preventDefault();
            if ($(this).attr('href')) {
                console.log($(this).attr('href'));
                $('#right_content_iframe').attr('src', $(this).attr('href'));
                e.preventDefault();
            }
        });

        var iframe = $('#right_content_iframe').contents();
        console.log(iframe);
        iframe.find(".page_refresh").click(function() {
            location.reload();
        });

    });

2 个答案:

答案 0 :(得分:0)

您有我自己的项目,我使用iframe相当多...复制代码,因为我知道你想要的是在某处...让我的项目再次工作我首先必须做.... 检查浏览器控制台:

http://stackoverflow.com/questions/18586921/how-to-launch-html-using-chrome-at-allow-file-access-from-files-mode?answertab=active#tab-top

我必须跑...

"C:\Program Files (x86)\Google\Chrome\Application\Chrome.exe" --allow-file-access-from-files

我还必须重新启动所有chrome实例。

我现在将继续查找您需要的行。

不记得我在做什么......而且我的方式更加复杂。 但似乎我只是用新网址替换了整个iframe。

window.parent.$('#sumdiv').html('<iframe  id="myIframe" style="border: 0px; " src="' + url + '" width="100%" height="100%" allowTransparency="true"></iframe>');

这应该有帮助

答案 1 :(得分:-1)

首先,这是不正确的:

 <li href=".....

如果您不想撰写<a>代码,可以使用数据集:

 <li data-href="......

更正确。 在第二点,您的选择器是错误的:

 $('ul.li').click(function(e) {

这意味着带有li类的ul。您需要在ul中选择li子项:

 $('ul li').click(function(e) {
 // --^

请注意,点消失。

完整代码:

 <ul>
   <li data-href="http://mywebsite/contact">contact</li>
   <li data-href="http://mywebsite/faq">faq</li>
   <li data-href="http://mywebsite/abcd">abcd</li>
 </ul>

  $(document).ready(function() {
    $('ul li').click(function(e) {
        e.preventDefault();
        var href = $(this).attr('data-href');
        if (href) {
            $('#right_content_iframe').attr('src', href);
            e.preventDefault();
        }
    });

    var iframe = $('#right_content_iframe').contents();
    iframe.find(".page_refresh").click(function() {
        location.reload();
    });

});