2012-11-19 75 views
1

我已经看到了这个例子漂浮如何在光标在文本区域中插入文本的TextArea:jQuery的插入文本光标所在位置

http://jsfiddle.net/adamadam123/bTUWa/5/

以上工作正常,但当我已经试过将其添加到自己的代码(这是主要的jQuery)我觉得我不能让它再工作 - 下面是我的代码示例试图使用功能:

http://jsfiddle.net/adamadam123/bbE48/6/

有人能帮助我吗?第二个jsfiddle工作。注意:真的想要传递ID,因为有很多不同ID的div,但所有的ID都有相同的textarea.classname。

三江源

<div id="100000000"> 
    <input id="insertPattern" type="button" value="insert pattern" /> 
    <textarea class="chatMessengerFooterTextArea">insert some text into this string</textarea> 
</div>​ 
+0

提醒您 'BR' 变量,它的现身为 '假'。看起来像浏览器检测没有按预期工作。注意:我正在使用FF – BIOSTALL

+0

请不要发布只包含jsfiddles的问题。这不是这个网站的工作原理。我需要能够在不打开任何外部链接的情况下回答你的问题。 – meagar

回答

-1

你需要给textarea的本身的ID。你将:)传递给DIV,而不是textarea。

您的textarea更改为这样的事情:

<textarea id="myTextArea" class="chatMessengerFooterTextArea">insert some text into this string</textarea> 

而jQuery代码到这一点:

$('input#insertPattern').click(function() { 
    alert('clicked me'); 
    insertEmoticonAtTextareaCursor('myTextArea', ':)'); 
}); 
+0

他不是。他在他的函数中有一个额外的jQuery find()来获取textarea。 –

0

修改后的功能重新定义了txtarea变量是一个jQuery对象,而不是DOM对象。您需要使用.get(0)再次获取DOM对象。

var txtarea = $("#"+ID).find('textarea.chatMessengerFooterTextArea').get(0); 
相关问题