jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Jquery在iframe中检测body标签上的更改或keyup大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的页面上有一个 jwysiwyg内容编辑器控件.该控件的工作原理是在iframe中创建自己的iframe,其中包含完整的html页面代码. @H_874_5@ @H_874_5@我希望检测是否有更改或密钥,以便我可以使用“指示记录需要保存”代码.我们有输入框,这个工作正常,只是这个第三方编辑器控件给我们带来了问题.

@H_874_5@以下是页面源的外观:

@H_874_5@
<div id="this_is_our_div_Container">
    <div class="wysiwyg">
        <iframe id="f_Body-wysiwyg-iframe">
            <html>
            <body style="margin: 0;" class="wysiwyg">
                I just typed this Now!</body></html>
        </iframe>
    </div>
    <textarea class="wysiwyg" cols="20" id="f_Body" name="f_Body" rows="2" 
        style="display: none;"></textarea>
</div>
@H_874_5@看到body标签包含实时更改.

@H_874_5@有了这些SO问题……

@H_874_5@jQuery ‘if .change() or .keyup()’

@H_874_5@https://stackoverflow.com/a/1639342/511438

@H_874_5@我在文档中尝试了以下内容.准备:

@H_874_5@
$('iframe').contents().find('body.wysiwyg').live('change',function (E)
{
    alert('tesTing');
});
$('iframe').contents().find('body.wysiwyg').live('keyup',function (E)
{
    alert('tesTing');
});
$('iframe > *').bind('keyup',function (E)
{
    alert('tesTing');
});
@H_874_5@希望这个版画屏幕有用.
LARGER

@H_197_30@解决方法
你似乎走在了正确的轨道上. @H_874_5@ @H_874_5@我想知道这是否适合你:

@H_874_5@
$('elementSELEctor',$('iframeSELEctor').contents()).on('keyup',function(E) {
    alert('tesTing');
});
@H_874_5@所以在你的情况下,我想:

@H_874_5@
$('body.wysiwyg',$('iframe#f_Body-wysiwyg-iframe').contents()).on('keyup',function(E) {
        alert('tesTing');
});
@H_874_5@尽管使用此答案中的代码取决于使用version 1.7 or higher of jQuery.

@H_874_5@如果您使用的是旧版本的jQuery,则可以使用从版本1.7开始不推荐使用的live,也可以使用委托.我不太确定.你最好的选择可能是使用最新版本的jQuery与.on()和.off().

@H_502_61@

大佬总结

以上是大佬教程为你收集整理的Jquery在iframe中检测body标签上的更改或keyup全部内容,希望文章能够帮你解决Jquery在iframe中检测body标签上的更改或keyup所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。