10.06.2012, 23:19
|
Люблю js, jquery
|
|
Регистрация: 23.08.2011
Сообщений: 214
|
|
вопрос о методе on()
приветствую
здес http://jquery.page2page.ru/index.php5/On читаю:
Цитата:
|
Метод on() введен в jQuery-1.7, чтобы объединить три метода библиотеки, устанавливающие обработчики событий на элементы страницы: .bind(), .delegate(), .live(). Сами эти методы считаются теперь устаревшими, хотя еще поддерживаться
|
но здес не правилно написано тот момент что ,on() объединить три метода, (и в том числе live() ), так как метод on() не сделает тоже самое, что live(). интереснее услишать ваше мнение, почему етом статие написано так?
или я ошибаю и on() тоже можно исползовать как метод live() ?
|
|
10.06.2012, 23:27
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Вот поэтому надо читать официальную документацию на английском, а не переводы, которые сделаны какими-то надмозгами
http://api.jquery.com/on/
Цитата:
|
For help in converting from older jQuery event methods, see .bind(), .delegate(), and .live()
|
Ну а по ссылке http://api.jquery.com/live/ уже все написано, как теперь следует писать
|
|
10.06.2012, 23:54
|
Люблю js, jquery
|
|
Регистрация: 23.08.2011
Сообщений: 214
|
|
что то не понял, здес http://api.jquery.com/live/ написано
Цитата:
|
the .live() method is deprecated
|
но не понимаю как написать такие коди (ниже), если не исползовать live()? все ровно придётся исползовать метод live() если хотим получит что то такое:
$(document).ready (function () {
$("#div1").on("click", function () {
$("#div1").after("<div id='div2'>div2</div>");
});
$("#div2").live("click", function () {
alert("asd");
});
});
если я не прав, поправте плиз
|
|
10.06.2012, 23:58
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Сообщение от dadli
|
если я не прав, поправте плиз
|
Дочитайте документацию до конца.
Я же сказал, что там все написано
|
|
11.06.2012, 00:20
|
Люблю js, jquery
|
|
Регистрация: 23.08.2011
Сообщений: 214
|
|
Gvozd,
несколко раз перечитал документацю до конца и мне стыдно, но не понимал, не получил ответ на маём вопросе, то есть
там, в доке ( http://api.jquery.com/live/ ) тоже, если хотят что "сеичас" созданни елемент бил интерактивним, то везде исползуется метод live().
другое алтернативи я не видел. можете подсказать что я пропустил? где написано о алтернативе метoда live() ?
|
|
11.06.2012, 00:25
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
<div id="div1">my div</div>
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready (function () {
$("#div1").on("click", function () {
$("#div1").after("<div id='div2'>div2</div>");
});
$(document).on("click", "#div2", function () {
alert("asd");
});
});
</script>
|
|
11.06.2012, 00:29
|
Люблю js, jquery
|
|
Регистрация: 23.08.2011
Сообщений: 214
|
|
devote,
вааау, огромноe спасибо
Gvozd,
и огромноe спасибо вам
|
|
11.06.2012, 00:33
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Сообщение от dadli
|
несколко раз перечитал документацю до конца и мне стыдно, но не понимал, не получил ответ на маём вопросе,
|
Сразу после слов "Rewriting the .live() method in terms of its successors is straightforward; these are templates for equivalent calls for all three event attachment methods:"
там три строчки, которые делают одно и тоже
|
|
11.06.2012, 00:53
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Deff,
в чем различия в твоем примере? Что-то не вижу разницы.
|
|
11.06.2012, 01:03
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от Deff
|
devote,
Когда я писал - был ток пост 5 (мну пока не такой скорострельный как Ти
|
20 минут писал пять строк. Я может и быстр, но писал бы всегда за 20 минут пять строк, я бы ничего не зарабатывал)
Сообщение от Deff
|
Можу убрать ?
|
да пусть будет
|
|
|
|