2014-10-07 1490 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插件。