在<a> tag editable with Mercury Editor</a>内制作文字内容

时间:2014-03-03 15:16:06

标签: javascript ruby-on-rails ruby-on-rails-4 mercury-editor

我在Rails4应用程序中使用Mercury编辑器。

如果你有类似的话:

<a href="http://www.google.com" data-mercury='full'>Edit me!</a>

要管理此元素的内容非常困难,因为它会在您单击编辑时激活链接。您可以通过使用鼠标选择文本(不触发链接)然后使用键盘箭头移动光标来欺骗它,但这不是用户友好的。

有没有办法告诉Mercury在编辑时停用链接?例如,当编辑器处于活动状态时,所有<a>都可以替换为<span>。由于标记本身不包含在可编辑内容中,因此我们无需在完成后将其还原为<a>,我们只需要保存修改并重新加载页面。

1 个答案:

答案 0 :(得分:0)

我最终实现了我上面建议的内容:

// CUSTOM CODE
// hide links so they can be edited
window.onload = function() {
  $('iframe#mercury_iframe').load(function() {
    $('iframe#mercury_iframe').contents().find('a').each(function() {
      $(this).removeAttr('href')
    });
  });
};

这是针对水银iframe中的<a>标记,并剥离其href属性,因此无法点击。

这段代码位于app/assets/javascripts/mercury.js文件的末尾。