2013-02-28 45 views
0

我試圖創建一個腳本,插入元素時單擊包含文本的元素內。javascript,jquery插入元素時單擊文本

看看下面的圖片。

example

的A和B是最終用戶的鼠標點擊的位置。

所以如果用戶點擊點A,腳本必須在點擊發生的行之間插入一個元素。

如果腳本插入帶有紅色背景色的元素,結果必須如下圖所示。

result

老實說,我不知道從哪裏開始,我發現,使用腳本插入在CARRET位置的東西有些WYSIWYG編輯器,但這是光標位置,2線之間或在一月底線。我非常感謝你的幫助。

http://cdpn.io/nocfe

+1

你至少可以提供一些你的HTML我們跟...共事? – mattytommo 2013-02-28 21:04:07

+0

@mattytommo我在我的問題中添加了codepen doc,將來會考慮這一點。 – onlineracoon 2013-02-28 21:10:27

+0

我可能是錯的,但是你幾乎可以肯定必須將你的元素分成每個行的單獨'p'標籤才能實現。 – mattytommo 2013-02-28 21:23:04

回答

1

假設您的標記是這樣的:

<div class="text"> 
    <p>Thomas is rich...</p> 
    <p>in the past...</p> 
</div> 

你可以使用$.after()插入新元素

$(".text p").click(function() 
{ 
    $(this).after("<p>I'm the new element</p>"); 
}); 
+0

不是每一行都是新的段落,這個indead會解決問題,但事實並非如此。 – onlineracoon 2013-02-28 21:11:13

+0

另一種選擇是將每個單獨的行用一個類包裝在一個範圍中,並用類選擇器替換p選擇器。 – mgoeppner 2013-02-28 21:13:19