我有这段代码:
$(function (){
$('#searchText2').keyup(function(event){
if (event.which >= 38 && event.which <= 40)
return;
var val = $(this).val();
jQTubeUtil.suggest(val, function(response){
var html = '';
for(s in response.suggestions){
var sug = response.suggestions[s];
html += '<li class="uli2"><a href="#">'+sug+'</a></li>';
}
if (response.suggestions.length)
$('#autocomplete').html(html).show();
else
$('#autocomplete').hide();
});
});
});
我希望在输入为onblur或onfocus时使用HTML运行此代码:<input name="q" type="text" onblur="**WHAT DO I PUT HER TO RUN CODE**">
我确实给了这个函数一个名字,但是没有用。
答案 0 :(得分:2)
只需绑定两个事件即可执行相同的功能:
$(function (){
var myFunc = function(event){
if (event.which >= 38 && event.which <= 40)
return;
var val = $(this).val();
jQTubeUtil.suggest(val, function(response){
var html = '';
for(s in response.suggestions){
var sug = response.suggestions[s];
html += '<li class="uli2"><a href="#">'+sug+'</a></li>';
}
if (response.suggestions.length)
$('#autocomplete').html(html).show();
else
$('#autocomplete').hide();
});
}
$('#searchText2').keyup(myFunc).blur(myFunc);
});
答案 1 :(得分:1)
试试这个:
在您的输入字段中添加ID,如下所示:
<input name="q" id='tempId' type="text" onblur="**WHAT DO I PUT HER TO RUN CODE**">
$('#tempId').focus(function() {
// write your code for onfocus here
}).blur(function() {
// write your code for blur here
});
答案 2 :(得分:1)
您无需在HTML中附加事件处理程序。
您希望保持您的JS(jQuery)代码与HTML分离,为此您可以使用jQuery中可用的事件处理机制。
我看到@Tatu刚刚发布了一个代码示例,因为我正在写这个,所以我不会在这里添加相同的东西。
这里的重要部分是要知道您永远不需要使用HTML事件附件机制。它已经过时了,而且这些天很少有一个有效的地方。