Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   не работает live (https://javascript.ru/forum/jquery/55135-ne-rabotaet-live.html)

SKLNSK 15.04.2015 12:18

не работает live
 
Не работает live click, не понимаю в че дело.

Вот код.
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
	<script src="http://code.jquery.com/jquery-latest.js"></script>
	
</head>

<body >

<input class=myclass type=text value="Жили у бабуси два весёлых гуся."><br>
<input class=myclass type=text value="Клара у Карла украла кораллы."><br><br>
<input type=button value="Скопировать объект" onclick="copy_obj();">

<div id=mydiv>
</div>

<script>
var link;
	$(".myclass").mousedown(function (e){
		//alert('кликнули');
		link= this;
	});
	
	function copy_obj()
	{
		$(link).clone().appendTo("#mydiv");
	}
	
	$(".myclass").live("click", function(){
	   alert('усправление списком');
    });
</script>

</body>
</html>

tsigel 15.04.2015 12:22

SKLNSK,
Попробуйте почитать документацию. Live устарел и его убрали из новых версий.

tsigel 15.04.2015 12:24

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
	<script src="http://code.jquery.com/jquery-latest.js"></script>
	
</head>

<body >

<input class="myclass" type="text" value="Жили у бабуси два весёлых гуся."><br>
<input class="myclass" type="text" value="Клара у Карла украла кораллы."><br><br>
<input type="button" value="Скопировать объект" onclick="copy_obj();">

<div id=mydiv>
</div>

<script>
var link;
	$(".myclass").mousedown(function (e){
		//alert('кликнули');
		link= this;
	});
	
	function copy_obj()
	{
		$(link).clone().appendTo("#mydiv");
	}
	
	$("#mydiv").on("click", ".myclass", function(){
	   alert('усправление списком');
    });
</script>

</body>
</html>

SKLNSK 15.04.2015 12:37

так работает

$("#mydiv").on("click", ".myclass", function(){
alert('усправление списком');
});

А как сделать без привязки к #mydiv ?

Просто если на форме появляется новый элемент, то чтобы к нему событие автоматом привязывалось.

SKLNSK 15.04.2015 13:03

В тестовом файле работает, а в рабоче не работает.

Тестовый код (работает)
$(".div_list").on("click", ".list", function(){
alert('управление списком');
});

рабочий код (не работает)
$(".mydiv").on("click", ".myclass", function(){
alert('управление списком');
});

почему не работает рабочий код никак не могу понять

рони 15.04.2015 13:04

Цитата:

Сообщение от SKLNSK
Просто если на форме появляется новый элемент, то чтобы к нему событие автоматом привязывалось.

так на форму ставьте или создали затем привязали

SKLNSK 15.04.2015 13:16

вот форма:





и при нажатии этик кнопок + - E и C ничего не происходит !!!

а код вот такой для привязки событий
$(".div_list").on("click", ".list", function(){
alert('усправление списком');
});

на приведенном скрине видно что есть div с классом div_list , а в нем кнопки с классом list и при нажатии на кнопки ничего не происходит!!!

SKLNSK 15.04.2015 13:17

причем код

$(".div_list").on("click", ".list", function(){
alert('усправление списком');
});

вставлен до того, как туда добавляются теги. так что по логике должно работать, а как проверить почему не срабатывает не знаю.

рони 15.04.2015 13:18

SKLNSK,
нет макета нет совета

SKLNSK 15.04.2015 16:47

вот тут on click не работает

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
	<script src="http://code.jquery.com/jquery-latest.js"></script>
	
</head>

<body >

<input class=list type=button value='+'><br>
<input class=list type=button value='-'><br><br>
<input type="button" value="Скопировать объект" onclick="copy_obj();"><br><br>

Кликните на вставленный объект:<br>
<div id=mydiv>
</div>

<script>
var link;
	$(".list").mousedown(function (e){
		//alert('кликнули');
		link= this;
	});
	
	function copy_obj()
	{
		//$(link).clone().appendTo(".mydiv");
		//$(".mydiv").html($(".mydiv").html()+"<input class=list type=button value='+'>");
		$("#mydiv").html($("#mydiv").html()+"<input class=list type=button value='+'>");
	}
	
	$(".mydiv").on("click", ".list", function(){
	   alert('кликнули на объект');
    });
</script>

</body>
</html>


Часовой пояс GMT +3, время: 11:10.