我在这里使用JTube:JTube at github
我正在尝试在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;
});
没用。我尝试了许多其他事情但没有成功。感谢帮助。
答案 0 :(得分:4)
将其更改为:
$("input").keyup(function(){
qs();
return false;
});
onKeyup
的jQuery版本称为keyup
。通常onXXX
是DOM事件,jQuery处理程序中没有on
。
答案 1 :(得分:1)
尝试这样的事情:
$('#target').keyup(function() {
alert('Handler for .keyup() called.');
});
答案 2 :(得分: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;
});