林上追加輸入到一個div,並提取其價值創造的跨度,在這裏一個文本編輯器的模擬工作是初始點擊()函數:在點擊跨度後移動附加輸入。
var $cursorStart= $("#cursor-start");
$("#main-edit").click(function() {
var cursorExists = $("#cursor").length;
if (!cursorExists){
$cursorStart.append("<input type='text' id = 'cursor' />");
$("#cursor").markCursor();
}
if (cursorExists){
$("#cursor").focus();
}
});
當我開始打字,跨距之前插入輸入:
jQuery.fn.enterText = function(e){
var $cursor = $("#cursor");
if($cursor.val() && e.keyCode != 32 ){
var character = $("#cursor").val();
$cursor.val("");
character = character.split("").join("</span><span class='text'>");
$("<span class = 'text'>"+character+"</span>").insertBefore($cursor);
}
我現在想知道的是,我怎麼能移動輸入(光標)左右(基本上是一個點擊間隔後,插入)。
<span>a</span>
<span>b</span>
<span>c</span>
<span>d</span>
點擊a和b附近會導致「a」後面的輸入。這些是動態添加的跨度。
這似乎沒有工作^它似乎沒有找到cursor.prev()?...我試過$(#cursor).prev()也 – re1man
實際上得到它的工作:頁。兄弟姐妹()會更好地定義對象嗎? – re1man
你不想使用兄弟姐妹(),因爲它會引用所有的兄弟元素。您只需要將點擊事件綁定到新創建的跨度。這裏是一個例子:http://jsfiddle.net/shAzR/ – maxedison