Показать сообщение отдельно
  #1 (permalink)  
Старый 22.02.2012, 12:54
Кандидат Javascript-наук
Отправить личное сообщение для vuler Посмотреть профиль Найти все сообщения от vuler
 
Регистрация: 16.02.2012
Сообщений: 109

Почему может не работать mouseover после метода post/get
Событие mouseover почему-то не срабатывает в определенной ситуации.
Есть некое поле inputa в которое пользователь вбивает текс поиска.
При нажатии клавиши срабатывает запрос на сервер откуда присылаются данные в виде строк
<li class="reg_odd">.....</li>
<li class="reg_even">.....</li>
и втавляются в список <ul>
После этого пытаюсь вызвать событие mouseover при наведении на присланные элементы списка, но оно почему-то не работает
если просто так вбиваю элемент в список с любым из этих классов(reg_even,reg_odd) то все работает отлично, а вот присланные дополнительные данные это событие не хочет находить.
в чем может быть проблема?

Вот исходные коды на всякий случай.

<input id="gorod" class="reg_input" type="text" style="position: relative;">
       <div id="gorod_search_live">
                <ul id="sechbar"></ul>
       </div>				
</input>


скрипты
$(document).ready(function() {
	$('.reg_odd').mouseover(function(eventObject)
	{
	alert("TEST");
	//this.addClass("reg_select"); 
	});
	
	$("#gorod").keyup(function() {
	var temp_city=$("#gorod").val();
	var sechbar = document.getElementById('sechbar');
	if(temp_city.length>1)
	{
	$.ajax({
	       type: 'POST',
		   url: '../module/getadr.php',
		   data: {temp_city:temp_city},
		   success: function(data){sechbar.innerHTML = data;}
		   })
	}
	
	});
});

getadr.php полняет список элементами li с соответствующим классом

$text=$_POST['temp_city'];
$text="%".$text."%";
include "../lib/db_lib.php";
mysql_query("SET NAMES utf8"); 
$sql="SELECT * FROM cities WHERE city_name_ru LIKE '$text' LIMIT 16";// WHERE city_name_ru LIKE 'Москва'";
$resurs=mysql_query($sql) or die(mysql_error());
//$resurs=mysql_fetch_array($resurs);
$cur_class="reg_odd";
while ($row = mysql_fetch_array($resurs, MYSQL_ASSOC)) 
{
    echo "<li class=\"".$cur_class."\">".$row['city_name_ru']."</li>";
	 if($cur_class=="reg_odd")
	 $cur_class="reg_even";
	 else
	 $cur_class="reg_odd";
}

CSS если надо
Код:
#gorod_search_live
{
position: absolute; 
width: 312px; 
z-index:9999;

}
#gorod_search_live ul
{
max-height: 180px; 
overflow: auto;
list-style: none outside none;
width: 100%;
border: 1px solid;
border-radius: 0 0 5px 5px;
border-top: 0px solid;
background-color: white;
}

#gorod_search_live li {
    cursor: default;
    display: block;
    font-family: Tahoma;
    font-size: 12px;
    line-height: 16px;
    margin: 0;
    overflow: hidden;
    padding: 5px; 
}
.reg_even {
    background-color: #F0F0F0;
}
.reg_odd 
{

}
.reg_select {
    background-color: #EAD8D8;
    color: #000000;
}
Ответить с цитированием