2011-07-20 21 views
0

我使用JTube發現在這裏:JTube at github的onkeyup,而不是在提交

我努力讓自己在KEYUP的請求,而不是提交。這是腳本:

var qsParm = new Array(); 
    function qs() { 
     var query = window.location.search.substring(1); 
     var parms = query.split('&'); 
     for (var i=0; i<parms.length; i++) { 
      var pos = parms[i].indexOf('='); 
      if (pos > 0) { 
       var key = parms[i].substring(0,pos); 
       var val = parms[i].substring(pos+1); 
       qsParm[key] = val; 
      } 
     } 
    } 

    $(function() { 
     qs(); 

     if(qsParm['search'] == '' || qsParm['search'] == null || qsParm['search'] == undefined) 
      qsParm['search'] = 'splinter cell'; 
     else 
      qsParm['search'] = unescape(qsParm['search']); 

     $('input[name=search]').val(qsParm['search']); 

     $.jTube({ 
      request: 'search', 
      requestValue: qsParm['search'], 
      limit: 10, 
      page: 1, 
      success: function(videos) { 
       $(videos).each(function() { 
        $('#example').append('<li><a href="'+this.link+'"><img src="'+this.thumbnail+'"><br>'+this.title+'</a> - '+this.length+'</li>'); 
       }); 
      }, 
      error: function(error) { 
       $('#example').html(error); 
      } 
     }); 
    }); 

據我瞭解的功能是'QS'因此,因此我想:

$("input").onkeyup(function(){ 
    qs(); 
    return false;   
}); 

沒有工作。我嘗試了許多沒有成功的事情。幫助表示讚賞。

回答

1

你需要調用「sendQS」功能(這是在你的例子匿名)實際發送數據。此外,jQuery的功能是keyup而不是onkeyup

function sendQS() { 
    qs(); 

    if(qsParm['search'] == '' || qsParm['search'] == null || qsParm['search'] == undefined) 
     qsParm['search'] = 'splinter cell'; 
    else 
... 
} 

$("input").keyup(function(e){ 
    sendQS(); 
    return false;   
}); 
4

將其更改爲:

$("input").keyup(function(){ 
    qs(); 
    return false;   
}); 
onKeyup

jQuery的版本被稱爲keyup。一般而言,onXXX是DOM事件,jQuery處理程序根本沒有on

1

嘗試是這樣的:

$('#target').keyup(function() { 
    alert('Handler for .keyup() called.'); 
}); 
相關問題