|
|
|
(JavaScript) Динамическое назначение метода onclick
|
|||
|---|---|---|---|
|
#18+
Итак, требуется средствами JS трансформировать ссылки Код: plaintext Код: plaintext Для решения поставленной был написан следующий код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Затем был этот код переписан для дальнейшей совместимости: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Для ещё большей совместимости имеем такой вариант: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Прошу помочь написать новый вариант кода, который бы работал во всех упомянутых браузерах. А вообще задача сейчас свелась к тому, чтобы в последнем варианте кода для каждой ссылке был свой вариант функции AJAXRequest. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2008, 15:50 |
|
||
|
(JavaScript) Динамическое назначение метода onclick
|
|||
|---|---|---|---|
|
#18+
NT Man, в первом случае не работает потому, что в событие onclick ты помещаешь строку вместо функции. В опере видимо срабатывает неявный eval, в других - нет. Можно было попробовать поработать с eval. Но выбран третий метод - это хорошо. Чтоб его реализовать, почитайте в тырнете про замыкания в js. Касательно данного случая: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2008, 17:14 |
|
||
|
(JavaScript) Динамическое назначение метода onclick
|
|||
|---|---|---|---|
|
#18+
Ну, или с помощью установки слушателя событий (не уверен, что проблему обойдет - 50 на 50, что передаст уже измененный параметр): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. А вообще-то, конечно, используется в таких случаях замыкание. Если ты глубоко не изучал javascript и слабо знаком с некоторыми технологиями, то слудующий вариант с использованием замыкания выглядит немного проще для понимания, хотя вариант illion , конечно, наиболее лаконичен. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. P.S. Мелко плаваю в регулярных выражениях, поэтому просто скопировал выражения вычленения частей у illion . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2008, 19:59 |
|
||
|
(JavaScript) Динамическое назначение метода onclick
|
|||
|---|---|---|---|
|
#18+
IDVsbruckНу, или с помощью установки слушателя событий (не уверен, что проблему обойдет - 50 на 50, что передаст уже измененный параметр): ты бы какбэ мозг включал, чтобы уменьшить вероятность ошибки и не заниматься тестированием методом тыка, не обойдет 100%, можешь даже код не запускать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2008, 22:59 |
|
||
|
(JavaScript) Динамическое назначение метода onclick
|
|||
|---|---|---|---|
|
#18+
illion, спасибо я понял свою ошибку. У меня page_param[1], брался из [[scope]] функции, где page_param[1] менял свои значения всех ссылок, а когда внешняя функция заканчивала работу в page_param[1] осталось последнее значение. Обернув, функцию ещё одной функцией ты обеспечил сохранение каждого значения. Прочитав http://javascript.ru/tutorial/basic/closure меня стало беспокоить что, замкнув функцию, в памяти держаться все значения внешней функции. А там у меня массив объектов. Ниже полный код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2008, 23:23 |
|
||
|
(JavaScript) Динамическое назначение метода onclick
|
|||
|---|---|---|---|
|
#18+
Не остается, так как link у Вас только как параметр при вызове функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2008, 23:27 |
|
||
|
(JavaScript) Динамическое назначение метода onclick
|
|||
|---|---|---|---|
|
#18+
что-то не нравится мне новый SRC html - код стал совсем нечитаемым. Пойду в ОНС жаловаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2008, 06:15 |
|
||
|
(JavaScript) Динамическое назначение метода onclick
|
|||
|---|---|---|---|
|
#18+
Теперь пытаюсь динамически менять формы. Требуеться все submit кнопки сделать простыми кнопками, и повесить на нах onclick, как и в первом случае. но не тут-то было. Даже не знаю в чём тут дело. Тону, help... Вот многострадальный код. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2008, 21:29 |
|
||
|
(JavaScript) Динамическое назначение метода onclick
|
|||
|---|---|---|---|
|
#18+
Так ведь ретурн фальсе и надо бы поюзать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2008, 21:42 |
|
||
|
(JavaScript) Динамическое назначение метода onclick
|
|||
|---|---|---|---|
|
#18+
Либо я не понял о чем ты, но: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2008, 22:14 |
|
||
|
(JavaScript) Динамическое назначение метода onclick
|
|||
|---|---|---|---|
|
#18+
Об этом как раз. Значит, не помогло. Надо думать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2008, 22:21 |
|
||
|
(JavaScript) Динамическое назначение метода onclick
|
|||
|---|---|---|---|
|
#18+
ПС. Кстати, субмит на буттон не имеет смысла менять, т.к. буттон по умолчанию - тот же сабмит. Вся фигня в этом самом ретурн фальсе, но чего-то не особенно чего-то и заметно... . Попробуй-ка написать в своём function(y,x){return false}. Отсабмитится или нет. Если - нет - ищи ошыбку у себя в коде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2008, 22:34 |
|
||
|
(JavaScript) Динамическое назначение метода onclick
|
|||
|---|---|---|---|
|
#18+
Кажется нашел проблему. Почему var page_param = form.getAttribute('action'); возвращает object, а не строку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2008, 23:03 |
|
||
|
(JavaScript) Динамическое назначение метода onclick
|
|||
|---|---|---|---|
|
#18+
Я такой конструкции не заметил. Заметил только, что page_param у тебя - массив чегото-там. А эта конструкция - нормально должна сработать. Даже в том случае, если раньше был массив. Может лучше написать: var page_param = form.action; ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2008, 23:15 |
|
||
|
(JavaScript) Динамическое назначение метода onclick
|
|||
|---|---|---|---|
|
#18+
Отвечу сам себе... Оказывается и здесь меня подстерегал очередной глюк IE. Подробности на английском здесь Ниже полностью рабочий под всеми браузерами код. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2008, 23:59 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=35636137&tid=1455628]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
143ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 494ms |

| 0 / 0 |
