2015-04-04 35 views
0

我正在创建一个对话框,让缺乏经验的编辑者能够正确地将块引号插入到tinymce编辑器中。 我希望他们能够点击块引用并在对话框中再次打开以进行编辑。 但是,如何将点击事件绑定到编辑器中的标签?这里的排序,如果我已经试过的东西(elm1是文本编辑器,我使用的警觉POC)如何将点击事件绑定到tinymce编辑器内的html标签?

 $('#elm1 blockquote').click(function() { 
      var mh = $(this).html(); 
      alert(mh); 
     }) 
+2

所以,根本的工作/不工作?问题是什么? – lshettyl 2015-04-04 13:30:55

+0

我发现,虽然tinymce实例声明为elm1,但编辑器和内容实际上都在iframe中。所以问题是我如何绑定到这个元素? http://screencast.com/t/vjTFjzj4 – user2427285 2015-04-04 15:04:58

回答

0

您也可以尝试与$.on方法(DOC here)注册点击事件。

$("#elm1 blockquote").on("click", function(e, el) { 
    alert(el.html()); 
}); 

而且,由于你的问题的范围不包括何时何地增加你的点击处理程序,你可能希望确保该事件已绑定到你的选择($('#elm1 blockquote')可用时,如用$(document).ready()包装它。

UPDATE(基于I帧):

jQuery中,它可能看起来更像:

var blockquote $("#elm1_ifr").contents().find("blockquote"); 
// OR: var blockquote $("#elm1_ifr").contents().find("#tinymce"); 
$(blockquote).on('click', function(e, el) { // Logic here... }); 
+0

感谢您的建议。我试过了,但没有奏效。在进一步调查中,我可以看到elm1实际上是空的 http://screencast.com/t/B15ynRGX 编辑器的内容实际上是在用javascript创建的iframe中。那么,我将如何绑定到这个元素?... http://screencast.com/t/vjTFjzj4 http://screencast.com/t/xTQI1eekQjml – user2427285 2015-04-04 15:03:27

+0

嗯。由于它位于Iframe中,因此可能需要在JQuery选择器中更具体。 [This](http://stackoverflow.com/a/1088569/1058612)发布了一些关于获取iframe内容的很好的见解。 – JohnnyCoder 2015-04-04 15:32:35

+0

即使选择了iframe,我也遇到了麻烦。我已经尝试var iframe = $('iframe#elm1_ifr'); 但是代码无法运行,当我提醒内容时,对象会以未定义的形式出现。 src属性中没有值的问题是否存在? src =“javascript:”“” – user2427285 2015-04-04 18:38:01

相关问题