Javascript 将文本内容置于<;a>;使用Mercury编辑器可编辑标记
我正在Rails4应用程序中使用Mercury editor 如果您有以下情况: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在编辑时停用链接?例如,当编辑器处于活动状态时,所有都可以替换为。由于标签本身
<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
文件的末尾