Ich habe ein Popup-Suchfeld, das angezeigt wird, wenn der Benutzer Mouses über einen Hyperlink, wenn der Benutzer mauset aus dem Suchfeld, verschwindet die Box. Das funktioniert gut. Wenn das Textfeld den Fokus hat, soll das Suchfeld sichtbar bleiben, bis das Textfeld den Fokus verliert. Zu diesem Zeitpunkt wird die Box ausgeblendet, wenn sich der Cursor nicht über dem Feld befindet. Dies funktioniert gut in allen Browsern außer IE (IE7, um genau zu sein). In IE wird das Blur-Ereignis des Textfelds ausgelöst, wenn das Textfeld nicht angezeigt wird. Dadurch wird das Suchfeld ausgeblendet. Hier ist der Code, den ich geschrieben habe:Blur feuern auf Mouseout in Internet Explorer 7
<script type="text/javascript">
$(document).ready(function() {
//add mouseover event to the search button to show the search box
$(".search").mouseover(
function() {
$(".open").show();
});
//add mouseout event to the search button to show the hide box
$(".search").mouseout(
function() {
$(".open").hide();
});
//add mouseover event to the search box so it doesnt hide when the user attempts to click the box
$(".open").mouseover(
function() {
$(".open").show();
});
//add mouseout event to the search box so it doesnt hides when the users mouse exits the box
$(".open").mouseout(
function() {
$(".open").hide();
});
//don't ever hide the search box when the textbox has focus
$("#tbSearch").focus(
function() {
$(".open").mouseout(
function() {
$(".open").show();
});
});
//hide the search box when the textbox loses focus
$("#tbSearch").blur(
function() {
$(".open").hide();
$(".open").mouseout(
function() {
$(".open").hide();
});
});
});
</script>
Und hier ist der HTML:
<a class="search" href="#"><span>Search</span></a>
<div class="open">
<input id="tbSearch" type="text" />
<a class="go" href="#"><span>Go</span></a>
</div>
dies funktioniert absolut perfekt !, Dank –