0

リンクがリンクに移動するときのデフォルトのアクションを実行しないようにしようとしています。代わりに、ユーザーがリンクをクリックすると、残りのコードが実行されます。この場合、AJAXで呼び出している適切なURL要素が読み込まれ、配置されます。正しいDiv/スパンで。これがコードです...

 $(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();
 });

e.preventDefault();上記のコードのどこにあり、関数コードの直後にあるかを試しました。たぶん私は最初の関数にeを書くべきですか?

4

2 に答える 2

2
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();
 });


}
于 2013-01-26T06:10:47.310 に答える
0

試す

return false;

これにより、デフォルトが防止されるだけでなく、伝播も防止されます

于 2013-01-26T06:07:29.390 に答える