AJAX jQuery单击导致函数事件被触发两次
我在Drupal中有一个AJAX聊天室模块,我试图在用户单击AJAX jQuery单击导致函数事件被触发两次,jquery,ajax,drupal,Jquery,Ajax,Drupal,我在Drupal中有一个AJAX聊天室模块,我试图在用户单击insert tex时将BBCode stlyetex标记插入提交框。我第一次设法让下面的代码正常工作,但后来当我单击Insert Tex时,它将Tex标记插入了三次 $('#edit-chatroom-message-entry-submit').click(function (e) { e.preventDefault(); e.stopPropagation(); if ($('#edit-chatroom-messa
insert tex
时将BBCode stlyetex
标记插入提交框。我第一次设法让下面的代码正常工作,但后来当我单击Insert Tex
时,它将Tex
标记插入了三次
$('#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]');
});
如果能提出建议使代码正常工作,我将不胜感激 如果我正确理解了您的代码,您需要:
var chatbox = $('#edit-chatroom-message-entry-box');
var value = chatbox.val();
if (value.indexOf('[tex][/tex]') == -1) {
chatbox.val(value + '[tex][/tex]');
}
如果我正确理解您的代码,您需要:
var chatbox = $('#edit-chatroom-message-entry-box');
var value = chatbox.val();
if (value.indexOf('[tex][/tex]') == -1) {
chatbox.val(value + '[tex][/tex]');
}
在jquery中将插入符号位置设置为0修复了以下问题:插入符号(0) 在jquery中将插入符号位置设置为0修复了问题:插入符号(0) 谢谢你的回复,但我无法让你的代码工作。我删除了第二个函数的最后一行并添加了您的代码,但仍然看到了双标记。如果我再次点击,我会看到三重标签…等等。你能提出其他建议吗?谢谢。当然,url是
http://sharpermath.com/drupal/node/24
我确信您可以使用firebug测试它,感谢回复Ivo,但我无法让您的代码正常工作。我删除了第二个函数的最后一行并添加了您的代码,但仍然看到了双标记。如果我再次点击,我会看到三重标签…等等。你能提出其他建议吗?谢谢。当然,url是http://sharpermath.com/drupal/node/24
我确信您可以使用firebug来测试它。添加绘图画布时,我在不同的设置中再次遇到了相同的问题。在jquery中将插入符号位置设置为0修复了以下问题:插入符号(0);在添加绘图画布时,我在不同的设置中再次遇到同样的问题。在jquery中将插入符号位置设置为0修复了以下问题:插入符号(0);