2014-10-16 53 views
0

我試圖設計一個經常有代碼塊的特殊textarea。檢查textarea中兩個標記之間的用戶光標

``` 
if __name__ == '__main__': 
    name = raw_input("what's your name? ") 
    print("Hello, {}!".format(name)) 
``` 

我想兩個事件發生:當用戶的光標在圍欄代碼塊之間,並且當用戶的光標離開圍欄這些代碼塊由兩個```令牌,如記代碼塊

當用戶輸入代碼塊時,我想要啓用代碼編輯,如將標籤按鈕轉換爲四個空格。當他們離開代碼塊時,我想做一個ajax調用來渲染它。

我的主要問題是試圖找出用戶的光標是否在這些圍欄代碼塊之一中,以及它們的光標離開代碼塊時。這將如何以有效的方式處理?

+0

沒有答案給你,但這可能是有用的:http://javascript.nwbox.com/cursor_position/ – Moob 2014-10-16 18:58:59

+0

@Moob這是整潔。我從來不知道.selectionStart – 2014-10-16 19:58:59

回答

0

我還沒有測試過這個,但我認爲它會讓你至少有90%的存在。

參考:How to select all content between two tags in jQuery

瞄準代碼塊:

$("*:contains('```')").eq(0) 
         .nextUntil("*:contains('```')") 
         .andSelf() 
         .wrap("<div id='mouse-box'></div>"); 

如果你有這些框多,你可能想要的東西,可以讓你選擇,甚至報廢EQ()/odd/n取決於具體情況。

鼠標事件

$("#mouse-box").mouseenter(function(){ 
    // do something 
}); 

$("#mouse-box").mouseleave(function(){ 
    // do something else 
}); 

不知道最好的鼠標操作,但我不認爲這是你的主要挑戰。

相關問題