我正在使用jQuery开发一个HTML生成器。放下界面。目前,用户将“块”元素拖放到覆盖iFrame的不可见div上(以便它看起来像是落在iframe上)。当元素被放置在这个不可见的div上时,相应的HTML将附加到iFrame主体。
接下来,我想让用户能够在iFrame中选择一个元素,并更改所选元素的属性。
我已将CSS导入和jQuery / jQueryUI脚本添加到iFrame头中。
我面临的问题是当点击附加的iFrame元素时,只有当鼠标离开iFrame时才会出现jQuery select套索,并且它出现在iframe之外。
我使用iFrame的原因是当为用户“生成”代码时,我可以将iFrame正文内容附加到对话框中。
之前有没有人遇到过iFrame和jQuery的问题?是否有任何文档/ javaScript库可以帮助我在这个过程中?
谢谢!
罗
答案 0 :(得分:0)
围绕这个问题的“修复”是令人费解的,但在我的情况下有效。
我在iframe中为每个添加的元素创建了一个click事件,如下所示:
$('iframe').contents().find('.elem'+blockVal).on('click', function(){
$('iframe').contents().find('.selected').removeClass('selected');
$(this).addClass('selected');
//alert('you have selected the block with class element'+ blockVal);
});
blockVal是从将html附加到iframe的函数传入的变量。上面的函数只是为附加到iframe的每个元素添加了一个单击侦听器。当点击任何元素时,它们被赋予一个“选定”类,并且已经拥有该类的任何其他元素都会丢失它。
对不起,如果这没有任何意义。
我对任何做类似事情的人的建议:不要使用iframe。