Event.preventDefault()不起作用?

时间:2012-09-10 17:30:38

标签: jquery

$("#singlechatpanel-1 #sendMessage").click(function(Event)
{
Event.preventDefault();
$("#singlechatpanel-1 .subpanel ul").append('<li><span><img src="./images/chat-thumb.gif"/>Aristona: Test message.</span></li>');
});



<form name="chatForm" id="chatform">
 <input type="text" id="message" name="message"><br>
 <input type="button" name="sendMessage" id="sendMessage" value="Send Message">
</form>

当我用鼠标点击按钮时,它通常会发送数据,但如果我在文本框中输入内容时按Enter键,页面刷新并且URI转到消息?what_I_typed。

如何预防?我需要使用输入按钮,因为它是一个聊天应用程序。

2 个答案:

答案 0 :(得分:1)

试试这个。最后添加return false

$("#singlechatpanel-1 #sendMessage").click(function(Event)
{
   Event.preventDefault();
   $("#singlechatpanel-1 .subpanel ul").append('<li><span><img src="./images/chat-thumb.gif"/>Aristona: Test message.</span></li>');
   return false;
});

答案 1 :(得分:0)

$("#chatform").submit(function(Event) {
  Event.preventDefault();
  $("#singlechatpanel-1 .subpanel ul").append('<li><span><img src="./images/chat-      thumb.gif"/>Aristona: Test message.</span></li>');
});
<form name="chatForm" id="chatform">
  <input type="text" id="message" name="message"><br>
  <input type="button" name="sendMessage" id="sendMessage" value="Send Message">
</form>

这会有所帮助。将处理程序放在表单提交中。