2013-10-29 124 views
-1

我想運行下面的代碼和console.log()給我不明身份爲什麼?jQuery功能不工作 - 功能不明

功能:

function postTitleCheck(){ 

     $('.postForm').on('blur', '#post_title', function(e){ 

      console.log(urlCheck()); 
}); 
} 


function urlCheck() { 

$(".postForm").on('blur', '#post_url_link', function (e) { 

     var url  = base_url + 'admin/page/urlCheck'; 

     var data = { 
      moviesparx_website_id : $('#post_url_link').data("id"), 
      post_title   : $('#post_url_link').val() 
     }; 

     e.preventDefault(); 

     e.stopImmediatePropagation(); 

     $.ajax({ 
      url:url, 
      data:data , 

      type: 'POST', 
      success: function (resp) { 

       if(resp == '') 
       { 

       }else{ 
        alert(resp); 
       } 
      }, 
      error: function (resp) { 
       console.log(data); 
      } 
     }); 

    }); 
} 

回答

0

適用這一點,因爲你不能傳遞函數中的事件動作就可以觸發事件,但不能作爲參數傳遞

$('.postForm').on('blur', '#post_title', function(e){ 

    $(".postForm #post_url_link").blur(); 
    //or 
    $(".postForm #post_url_link").trigger('blur'); 

}); 

$(".postForm").on('blur', '#post_url_link', function (e) { 

     var url  = base_url + 'admin/page/urlCheck'; 

     var data = { 
      moviesparx_website_id : $('#post_url_link').data("id"), 
      post_title   : $('#post_url_link').val() 
     }; 

     e.preventDefault(); 

     e.stopImmediatePropagation(); 

     $.ajax({ 
      url:url, 
      data:data , 

      type: 'POST', 
      success: function (resp) { 

       if(resp == '') 
       { 

       }else{ 
        alert(resp); 
       } 
      }, 
      error: function (resp) { 
       console.log(data); 
      } 
     }); 

    }); 
0

console.log()不是標準的JavaScript目的。它由瀏覽器自行定義(即,Chrome開發人員工具或Firefox Firebug)。所以即使在IE中你也會得到未定義的。對於IE瀏覽器的兼容性,可以採取利用這個答案:

What happened to console.log in IE8?

0

urlCheck沒有返回值 - 它只是調用另一個函數!所以,JavaScript說它是不確定的。這就像你有這樣的:

function foo(bar) { 
    // no code here 
} 

console.log(foo('bar'));