AJAX jQuery单击功能事件被触发两次的结果
我在Drupal中有一个AJAX聊天室模块,我试图在用户单击Insert Tex
时将BBCode stlye tex
标签插入到提交框中。我设法让下面的代码第一次工作,但之后当我点击Insert Tex
时,它会将tex
标签插入三次。AJAX jQuery单击功能事件被触发两次的结果
$('#edit-chatroom-message-entry-submit').click(function (e) {
e.preventDefault();
e.stopPropagation();
if ($('#edit-chatroom-message-entry-box').val()){
Drupal.chatroom.postMessage($('#edit-chatroom-message-entry-box').val());
$('#edit-chatroom-message-entry-box').val('').focus();
}
});
$('#edit-chatroom-tex-submit').click(function (e) {
e.preventDefault();
e.stopPropagation();
$('#edit-chatroom-message-entry-box').val($('#edit-chatroom-message-entry-box').val() + '[tex][/tex]');
});
如果能够使代码正常工作,我将不胜感激。
插入符位置设置为0 jQuery中解决了这一问题:插入符号(0);
如果我正确理解你的代码,你需要这样的:
var chatbox = $('#edit-chatroom-message-entry-box');
var value = chatbox.val();
if (value.indexOf('[tex][/tex]') == -1) {
chatbox.val(value + '[tex][/tex]');
}
感谢您的回复伊沃,但我无法让您的代码工作。我删除了第二个函数的最后一行,并添加了代码,但仍然看到双重标签。如果再次点击,我会看到三重标签......等等。你能提出其他建议吗?谢谢。 – 2010-04-09 03:54:41
你可以发布一个链接到你的网页,以便我可以测试我的代码。 – 2010-04-09 04:08:25
当然,网址是'http:// sharpermath.com/drupal/node/24'我敢肯定你可以用萤火虫来测试它 – 2010-04-09 17:38:03
添加绘图画布我在另一个设置中再次遇到同样的问题。在jquery中设置插入位置为0修复了问题: caret(0); – 2010-04-21 21:02:35