Добрых Дел Мастер
С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227
|
Добавлено: 10/10/13 в 12:15 |
HTML:
много ссылок вида
<a onclick = 'editstatus(<?php echo $id ?>, this);'>сменить статус</a>
т.е. есть ссылка. вешаю событие onClick, передаю параметр $id. и передаю саму ссылку, т.е. DOM-объект.
JS:
function editstatus(id, htmllink) {
$(htmllink).parent().removeClass('class'); // тут какие-то манипуляции с DOM-деревом, относительно кликнутой ссылки. к примеру у родителя ссылки удаляем класс
$.post('/todos/editstatus', {id: id}, function() {}, 'json'); // тут аякс-запрос на пхп на сервак.
}
Так вот вопрос. говорят onClick юзать в коде HTML это моветон и так делать не надо. надо делать как-то так:
HTML:
<a>сменить статус</a>
JS:
$(document).ready(function() {
$('a.editstatus').click(function() {
ну и тут уже манипуляции
});
});
Вопрос: как тогда передавать в эту функцию параметры? если в HTML не прикручивать к тегам onClick
|
|
пришел к победе коммунистического труда
|
0
|
|
|
С нами с 03.07.07
Сообщения: 481
Рейтинг: 862
|
Добавлено: 10/10/13 в 12:28 |
Как вариант:
Код: [развернуть] | <a id="mylink" href="#<?php echo $id; ?>" rel="<?php echo "One more id ".$id; ?>"'>сменить статус</a> |
Обработка в jQ:
Код: [развернуть] |
$(document).ready(function() {
$('#mylink').click(function() {
alert($(this).attr('href'));
alert($(this).attr('rel'));
alert("Opagangamstyle");
});
});
|
Но тут возможны варианты как говорится. На хабаре вот еще ветка: habrahabr.ru/qa/5599/
|
|
|
|
С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134
|
Добавлено: 10/10/13 в 12:41 |
FXIX писал: | ...
Так вот вопрос. говорят onClick юзать в коде HTML это моветон и так делать не надо. надо делать как-то так:
|
не слушай, делай так как тебе удобно, главное понимать как это работает, в чем особенности)
|
|
|
|
Добрых Дел Мастер
С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227
|
Добавлено: 10/10/13 в 13:23 |
Smarty писал: | Как вариант:
Код: [развернуть] | <a id="mylink" href="#<?php echo $id; ?>" rel="<?php echo "One more id ".$id; ?>"'>сменить статус</a> |
Обработка в jQ:
Код: [развернуть] |
$(document).ready(function() {
$('#mylink').click(function() {
alert($(this).attr('href'));
alert($(this).attr('rel'));
alert("Opagangamstyle");
});
});
|
Но тут возможны варианты как говорится. На хабаре вот еще ветка: habrahabr.ru/qa/5599/ |
а ну короче в аттрибуты тега совать. я думал в эту сторону но...потом глянул AngularJS...и там как-то по-современному это сделано, только хуй проссы как. для 2-3 параметров пойдет. а если их дохуя. 5-10.
за ссылку пасиб. буду курить. но onClick в верстке это как стили в верстке. неправильная хуйня
|
|
пришел к победе коммунистического труда
|
1
|
|
|
С нами с 03.07.07
Сообщения: 481
Рейтинг: 862
|
Добавлено: 10/10/13 в 13:32 |
freeek писал: | не слушай, делай так как тебе удобно, главное понимать как это работает, в чем особенности) |
конечно никого не надо слушать а делать как удобнее - лишь бы работало. особенно что касается js.
а потом твой код в каком-нибудь новом осле не пашет. и ты лезешь все свои скрипты пересматривать. и в итоге твой код становится одними "особенностями" на сплошных костылях.
|
|
|
|
Добрых Дел Мастер
С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227
|
Добавлено: 10/10/13 в 14:59 |
Smarty писал: | конечно никого не надо слушать а делать как удобнее - лишь бы работало. особенно что касается js.
а потом твой код в каком-нибудь новом осле не пашет. и ты лезешь все свои скрипты пересматривать. и в итоге твой код становится одними "особенностями" на сплошных костылях. |
ну вообще-то надо двигаться же. потихоньку. я понимаю что средний вебмастер мастер-х только недавно пхп 4 выучил и говнокодит как хочет. понятно что удобно и похуй, если это не влияет ни на что, в том числе на зарплату и карьеру
просто на хабре смотрю за последние 1-2 года появилась какая-то ниибическая куча фреймворков и либ. js конкретно голову поднимает. и там какие-то новые идеологии и евангилисты и подходы и методологии...
Node.js
Fabric.js
Knockout.js
Numeral.js
History.js
Express.js
Backbone.js
Smooth.js
Three.js
Stellar.js
WebGl-2d.js
Spine.js
Paper.js
SQL.js
Morris.js
Simplify.js
Sisyphus.js
Kerning.js
короче тысячи их...
пока хуй забиваю ибо на пхп пишу. но имхо скоро накроет. тяжелый интерпрайз уже накрывает.
|
|
пришел к победе коммунистического труда
|
1
|
|
|
С нами с 03.07.07
Сообщения: 481
Рейтинг: 862
|
Добавлено: 10/10/13 в 15:17 |
я в свое время и от jq отбрыкивался - не хотел понимать что там. и от фв пхп-шных.
потом заставил себя таки - и не жалею. скорость разработки и отладки реально повысилась в разы.
опять же если какой-то функционал надо реализовать - процентов 70 что есть уже готовое для твоих потребностей решение в виде плагина и даже если не нагуглится готовый плагин - 90% что найдешь что-то похожее.
а по js фрейворкам - они как те же пхп фв - их тоже десятки. можно выбирать конечно долго для себя. как по мне - проще остановиться на наиболее распространенном с большим камьюнити.
|
|
|
|
С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134
|
Добавлено: 11/10/13 в 10:42 |
Smarty: а я об этом не спорю, инкапсуляцию никто не отменял, я лишь указал на то, что стоит разобраться в чем отличие поведения, когда мы вешаем обработчик через html, например работа с объектом event и когда мы это делаем через нативный JS, сколько обработчиков мы можем повесить при том или ином случае и т.д., опять же если мы используем jQuery, надо понимать как там происходит обработка
всем подходам - свое место)
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 11/10/13 в 18:49 |
FXIX писал: | глянул AngularJS...и там как-то по-современному это сделано, только хуй проссы как |
Нормально там сделано, просто надо мозг поломать примерно как при переходе с бейсика на эрланг. Что тебе конкретно непонятно?
FXIX писал: | ля 2-3 параметров пойдет. а если их дохуя. 5-10. |
Метод, которому нужно 5-10 параметров - плохой метод.
|
|
|
|