Es ist ganz einfach zu tun, und ich habe es in der Vergangenheit viele Male getan, aber ich weiß nicht, warum es jetzt nicht funktioniert.Kann nicht erkennen, welche li schwebte
HTML
<div class="box" style="height: 50%;">
<input type="search" class="input searchBox" placeholder="Search for items">
<ul class="SearchResults clearfix"></ul>
</div>
JS:
// SearchBox implementation
var searchBox = $(".searchBox").bind('keyup ', function() {
var length = searchBox.val().length;
if (searchBox.val().length > 0) {
$.ajax({
url: "/Invoice/GetProducts",
type: "POST",
data: { searchquery: searchBox.val() },
success: function (result) {
$(".SearchResults").append(result);
}
});
} else {
$(".SearchResults").empty();
}
//$(".SearchResults").text(searchBox.val().length);
});
und dann diese einfache Schweben Code
$(".SearchResults li").hover(function() {
alert();
});
ich sicher gemacht haben, dass dieses Skript ausgeführt wird. li werden hinzugefügt und alles, aber was auch immer ich mache, kann ich nicht feststellen, schwebe, wie auch immer es Alarm gibt, wenn ich den Code zum Schweben ul ändern und nicht das li.
'$ ("Search li.") Schweben (function() { console.log (this); });.' ' – Rayon
this' innerhalb des Handlers zum schwebte beziehen' li 'Element –
Sie sollten Ereignis an statischen UL-Container delegieren, um Ereignis für dynamische Elemente zu behandeln –