2014-10-07 1489 views
0

我一直在我的项目中使用codemirror textarea。在此,搜索并替换demo我可以得到搜索和替换的功能。但我需要像this对话框。我尝试了很多,但无法达到我的预期。如何在codemirror中创建搜索并替换对话框?

codemirror.net/addon/search/search.js这是我到目前为止定制的js代码。

var queryDialog = 'Search: <input type="text" style="width: 10em" class="CodeMirror-search-field"/> <span style="color: #888" class="CodeMirror-search-hint">(Use /re/ syntax for regexp search)</span><button onclick="findtest()">Find<button>'; 
function findtest(){ 
CodeMirror.commands.find = function(cm) {clearSearch(cm); doSearch(cm);}; } 

这是我试过的。

任何帮助将不胜感激。

+0

1)你的期望是什么? 2)显示你试过的一些代码 – kums 2014-10-07 07:44:12

回答

2

也许有点晚来回答这个问题,但我发现这工作:

document.querySelector("#openSearch").onclick = function(){ editor.execCommand("find"); }; 
+0

谢谢!其实你能解释这个代码吗?这是否会创建一个弹出式搜索和重新对话框?Id的哪个元素是'#openSearch'? – vidhya 2015-05-22 05:44:02

+0

#openSearch是您希望用户单击以打开搜索对话框的元素的ID。它可以是任何元素。 – 2015-05-22 15:29:04

+0

将尝试它并让你知道 – vidhya 2015-05-23 11:15:28

1

显然,这个问题是相当老了,但通过它万一别人绊倒寻找一个答案,我为CodeMirror编写了一个替代搜索插件,它看起来更像传统的查找/替换对话框。为了兼容性的原因,内置的搜索是这样做的 - 没有对话框插件,它会回落到浏览器的警报并确认实现。我的插件没有这样做,并使用一个稍微修改的对话框插件到原件。

NPM安装

新的插件被称为codemirror-revisedsearch,你可以使用它NPM像这样安装:

npm install --save codemirror-revisedsearch 

手动安装

如果你不想使用NPM,您可以从https://github.com/maloric/codemirror-revisedsearch下载源代码。您还需要从https://github.com/maloric/codemirror-advanceddialog下载codemirror-advanceddialog插件。