2013-03-04 60 views
0

在我的上一篇文章中: Finding Touched elments CKEDITOR, 我一直在尋找被觸動的元素。那個帖子上的帖子效果很好。CKEditor標籤檢測結束/開始

但現在我有另一個問題。將插入符號設置爲前面或標籤/塊的末尾時。 我只能看到父母是跨度。但可能是因爲用戶試圖將標籤放在標籤外面。例如:

this ^<span>^test</span> text 

可以將插入符號設置爲「^」而不會看到任何區別。

(單選(startContainer == endContainer))

在原來職位的anwser沒有檢測範圍,如果它僅僅是標籤外。但只是在標籤內部,它不會檢測到哪個給出了新的場景。我需要一種方法來避免新的場景,並讓它像一個被觸摸的塊一樣處理。

我想檢測插入符號是否在跨度內,並確實觸及開始。 只有當它結束時纔會觸摸結束。 函數range.checkStartOfBlock返回false,這不是一個解決方案。

回答

0

我找到了Mozilla的修復程序,現在我也想修復IE7以上。

Mozilla的修復: START的檢查:

支票結束:

range.endOffset === range.startContainer.getText().length //Means EndOfBlock 

==== ====編輯

的瘦長範圍從庫rangy.googlecode.com提供了一個可接受的解決方案。 (提供了某種兼容的startOffset和一些其他功能。) 我需要對Internet Explorer進行3次檢查,對Mozilla只需要1次。 但它看起來很笨。

仍然所有的想法都非常受歡迎。

相關問題