Jquery e、 preventDefault不稳定,不阻止默认操作

Jquery e、 preventDefault不稳定,不阻止默认操作,jquery,events,preventdefault,Jquery,Events,Preventdefault,我试图使链接不执行指向链接的默认操作,而是在用户单击链接时执行其余代码,在本例中,这些代码加载我使用AJAX调用的适当url元素,并将它们放置在正确的Divs/span中。这是代码 $(function(){ $('body').append('<span id="view_mess">New Message</span><div id="mess_wrapper"><div id="new_mess_pop"><div id="b

我试图使链接不执行指向链接的默认操作,而是在用户单击链接时执行其余代码,在本例中,这些代码加载我使用AJAX调用的适当url元素,并将它们放置在正确的Divs/span中。这是代码

 $(function(){
    $('body').append('<span id="view_mess">New Message</span><div id="mess_wrapper"><div id="new_mess_pop"><div id="button_wrap"><span id="post_date_time"></span><div id="users_contact_info"><div id="users_image"></div><div id="message_lister"></div></div><div id="message_post"></div><div id="inner_mess_wrapper"></div></div></div></div>');
      $('#message_lister').load('/privmsg?folder=inbox .tdtopics:lt(5)');
        $('#view_mess').click(function() {
      $('#mess_wrapper').show();
       });
 $('.topictitle').click(function(e) {
  var msg = $('.tdtopics a').attr('href');
   $.get(msg, function (data) {
     var elems = $(data);
      $('#post_date_time').append(elems.find('div.posthead h2'));
      $('#users_image').append(elems.find('.user-basic-info'));
      $('#message_post').append(elems.find('.entry-content'));
   }, 'html');
e.preventDefault();
  $('#mess_wrapper').show();
 });
$(函数(){
$('body').append('newmessage');
$(“#消息列表器”).load(“/privmsg?folder=inbox.tdtopics:lt(5)”;
$(“#查看_-mess”)。单击(函数(){
$('mess_wrapper').show();
});
$('.topictitle')。单击(函数(e){
var msg=$('.tda').attr('href');
$.get(消息,函数(数据){
变量元素=$(数据);
$(“#post_date_time”).append(elems.find('div.postfead h2');
$('#users_image').append(elems.find('.user basic info'));
$('#message_post').append(elems.find('.entry content'));
}","html";;
e、 预防默认值();
$('mess_wrapper').show();
});
我已经尝试了
e.preventDefault();
在上面代码中的位置和函数代码之后。也许我应该在第一个函数中写e?

试试

return false;
这将阻止默认设置,也将阻止传播

尝试以下操作:
Try with this :
Two things :you missed the end bracket of function  and e.preventdefault shuld be in start of the event 



 $(function(){
    $('body').append('<span id="view_mess">New Message</span><div id="mess_wrapper"><div id="new_mess_pop"><div id="button_wrap"><span id="post_date_time"></span><div id="users_contact_info"><div id="users_image"></div><div id="message_lister"></div></div><div id="message_post"></div><div id="inner_mess_wrapper"></div></div></div></div>');
      $('#message_lister').load('/privmsg?folder=inbox .tdtopics:lt(5)');
        $('#view_mess').click(function() {
      $('#mess_wrapper').show();
       });
 $('.topictitle').click(function(e) {
 e.preventDefault();
  var msg = $('.tdtopics a').attr('href');
   $.get(msg, function (data) {
     var elems = $(data);
      $('#post_date_time').append(elems.find('div.posthead h2'));
      $('#users_image').append(elems.find('.user-basic-info'));
      $('#message_post').append(elems.find('.entry-content'));
   }, 'html');
  $('#mess_wrapper').show();
 });


}
两件事:你错过了函数的结束括号,e.preventdefault应该在事件的开始 $(函数(){ $('body').append('newmessage'); $(“#消息列表器”).load(“/privmsg?folder=inbox.tdtopics:lt(5)”; $(“#查看_-mess”)。单击(函数(){ $('mess_wrapper').show(); }); $('.topictitle')。单击(函数(e){ e、 预防默认值(); var msg=$('.tda').attr('href'); $.get(消息,函数(数据){ 变量元素=$(数据); $(“#post_date_time”).append(elems.find('div.postfead h2'); $('#users_image').append(elems.find('.user basic info')); $('#message_post').append(elems.find('.entry content')); }","html";; $('mess_wrapper').show(); }); }
不,我有结束括号。代码还有更多内容,但没有任何干扰,因此我没有发布它。我也在那里尝试了,它会转到链接。是否已将e.preventDefault()移到函数顶部?即使它不起作用…使用event.stopPropagation();在阻止默认设置之后立即停止进一步的事件流..我已经移动了它。我猜问题是我动态创建了内容:(这是我的错,我想我应该发布整个脚本,因为我猜这就是问题所在。我应该将此返回放在哪里?在函数()之后){或者我在哪里有preventDefault?至于return,我想它最好在函数的末尾,这也不起作用。这让我很困惑为什么它不阻止默认操作:/