簡體   English   中英

與keyup結合使用時,jQuery Live功能不起作用

[英]Jquery Live function is not working when used with keyup

我使用loadData()函數從我的php腳本中獲取數據,並且使用另一個函數從數據庫中搜索。 一切正常,但是當我單擊搜索結果時,它沒有加載數據。 這是我正在使用的jQuery函數,

//Gets Data
function loadData(id)
{
loading_show();
$.ajax({
      url: "load_data.php",
      type: "post",
      data: "id="+id,
      success: function(data){
            loading_hide();
           $("#container_wrap_metro").html(data);
      },
      error:function(){
          alert("failure");
          $("#container_wrap_metro").html('Unable to process request!');
      }  
    }); 
}


//Search
$(function(){
  $("#result").keyup(function(){
    var q = $(this).val();
    $.get("results.php?q="+q, function(data){
    if(q){
        $(".side_container").html(data);
    } 
    else {
        $(".side_container").html("");
    }
  });
});
$('#b').live('click',function(){
  var page = $(this).attr('p');
  loadData(page);
  }); 
});

不推薦使用.live(),因此您可以嘗試使用.on()代替.live()。

http://api.jquery.com/live/http://api.jquery.com/on/

答案是:

$(document).on('click','#b',function(){...}); //live equivalent

但是更好的方法是使用最接近的靜態容器:

$('#container_wrap_metro').on('click','#b',function(){...});

您正在使用哪個jQuery版本? 實時功能可能已被棄用。 改用.on()還是直接使用.click()?

不建議將live ()用作On ()。

$(document).on("click", "a.foo", fn);  //here a.foo is target

http://jquery.com/upgrade-guide/1.9/#live-removed

我已將live替換為on,但對我不起作用。 您可以使用.delegate()

就我而言,我已經在動態加載的內容中點擊了。 當我更新JQuery庫時,實時程序停止工作,並立即用委托將其替換。

在此處查看更多信息: https : //api.jquery.com/delegate/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM