Я пытаюсь обойти проблему, при которой никакие события не запускаются при отпускании мышью / введите <option>
для <select>
(FF, IE, GC и т. Д.)
Первая проблема (исправлена): выпадающие меню Hide (), как только мышь уходит <option>
с этим кодом
$("#dropdown_year").mouseleave(function(event){
event.stopPropagation();
Вторая проблема: щелкните раскрывающийся список, переместите указатель мыши за пределы раскрывающегося списка, щелкните страницу в любом месте. Раскрывающийся список остается внизу ...
Есть ли (элегантное) решение для этого?
http://jsfiddle.net/f6fvg/
=====================
HTML
<table border="1" width="100%">
<tr>
<td align="center" id="hover_content_swap">EVENT
<span id="hover_content_swap_off">2012</span>
<span id="hover_content_swap_on">
<form style="display:inline" class="dynamic_select">
<select id="dropdown_year">
<option value="event2012.php" selected="selected">2012</option>
<option value="event2011.php">2011</option>
<option value="event2010.php">2010</option>
</select>
</form>
</span>
</td>
</tr>
</table>
JQuery
$('#hover_content_swap_on').hide(); //HIDE NOW, SHOW ON HOVER
// SWAP CONTENT VISIBILITY ON HOVER
$('#hover_content_swap').hover(function () {
$('#hover_content_swap_off').hide();
$('#hover_content_swap_on').show();
}, function() {
$('#hover_content_swap_off').show();
$('#hover_content_swap_on').hide();
});
// PREVENT UNINTENDED EVENT PROPAGATION WHEN HOVERING 'OPTIONS'
$("#dropdown_year").mouseleave(function(event){
event.stopPropagation();
});
http://jsfiddle.net/f6fvg/