Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将文本内容置于<;a>;使用Mercury编辑器可编辑标记_Javascript_Ruby On Rails_Ruby On Rails 4_Mercury Editor - Fatal编程技术网

Javascript 将文本内容置于<;a>;使用Mercury编辑器可编辑标记

Javascript 将文本内容置于<;a>;使用Mercury编辑器可编辑标记,javascript,ruby-on-rails,ruby-on-rails-4,mercury-editor,Javascript,Ruby On Rails,Ruby On Rails 4,Mercury Editor,我正在Rails4应用程序中使用Mercury editor 如果您有以下情况: <a href="http://www.google.com" data-mercury='full'>Edit me!</a> 很难编辑此元素的内容,因为当您单击以编辑它时,它会激活链接。您可以通过使用鼠标选择文本(不触发链接)然后使用键盘箭头移动光标来欺骗它,但这不是用户友好的 有没有办法让Mercury在编辑时停用链接?例如,当编辑器处于活动状态时,所有都可以替换为。由于标签本身

我正在Rails4应用程序中使用Mercury editor

如果您有以下情况:

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

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


有没有办法让Mercury在编辑时停用链接?例如,当编辑器处于活动状态时,所有
都可以替换为
。由于标签本身不包含在可编辑内容中,因此我们不需要在完成后恢复到
,我们只需要保存修改并重新加载页面。

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

// 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')
    });
  });
};
这将针对mercury的iframe中的
标记,并去除它们的
href
属性,因此它们不可单击

这段代码放在
app/assets/javascripts/mercury.js
文件的末尾