/ / Как да прикача Jquery функция към HTML вход - jquery, html, функция

Как да прикача функция Jquery към HTML вход - jquery, html, функция

Имам този код:

$(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**">

Наистина дадох името на функцията, но това не работи.

Отговори:

1 за отговор № 1

Няма нужда да свързвате обработващия събитието в HTML.

Вие ще искате да запазите JS (jQuery) кода отделно от вашия HTML и да направите това, можете да използвате механизмите за обработка на събития, които са ви налични в jQuery.

Виждам @Tatu току-що е публикувал проба от код, докато пиша това, така че няма да добавя същото тук.

Важната част тук е да знаете, че никога не е необходимо да използвате механизма за прикачване на HTML събитие. Тя е остаряла и рядко има валидно място в наши дни.


2 за отговор № 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 за отговор № 3

Опитайте тази :

Добавете идентификатор към полето за въвеждане като този:

<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
});