Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / java Script : переделывание onclick / 16 сообщений из 16, страница 1 из 1
01.04.2009, 15:28
    #35906010
LesNeed
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java Script : переделывание onclick
Как можно переделать процедуру онclick ?

ну расскажу по подробнее..

Имеется массив из ссылок

с помощью Цикла я меняю их процедуры onclick.

Всё бы ничего но каждой ссылке массива приписываю разные параметры.=>




Код: plaintext
1.
2.
3.
AA[N].onclick=function anonymous() { window.open(MyHREF, "_blank", width= 500 , height= 350  )



MyHREF - постоянно меняется


Как быть?
...
Рейтинг: 0 / 0
01.04.2009, 15:36
    #35906053
TJivich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java Script : переделывание onclick
DynBack - blog about Asp.Net, Mvc, jQuery, VWG and other rapid Ajax concepts

Либо проходи через scope

Код: plaintext
1.
var MyHREF = 'http://';
AA[N].onclick=function anonymous() { window.open(MyHREF, "_blank", width= 500 , height= 350  ) }

Либо через apply можно
...
Рейтинг: 0 / 0
01.04.2009, 15:57
    #35906142
gugu09
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java Script : переделывание onclick
Нужно, чтобы MyHREF постоянно менялся?

AA[N].onclick='window.open(MyHREF[N], "_blank", width=500, height=350 )';
...
Рейтинг: 0 / 0
01.04.2009, 19:44
    #35906743
Mr.Power
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java Script : переделывание onclick
чота не совсем понятно как?

НУ вот смотрите

цикл в котором меняются все онклик

for (nn in ...){

Здеся генерируется новая ссылка
n=random //случайное число от 1 до 10
MyHREF=silki[n] // это массив ссылок

AA[nn].onclick=function anonymous() { window.open(MyHREF, "_blank", width=500, height=350 )
//здесь устанавливаем онклик

}


проверяем

document.write(AA[8].onclick)

Пишет: function anonymous() { window.open(MyHREF, "_blank", width=500, height=350 )
А нада типа так чтобы было function anonymous() { window.open('http:\myHREF.ru', "_blank", width=500, height=350 )

'http:\myHREF.ru' - одна из сылок присваивающаяся в цикле(одна из многиз)
...
Рейтинг: 0 / 0
01.04.2009, 19:45
    #35906745
Mr.Power
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java Script : переделывание onclick
как?
...
Рейтинг: 0 / 0
01.04.2009, 20:11
    #35906799
gugu09
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java Script : переделывание onclick
Нужно сначала определиться:
1. myHREF - это переменная или значение (адрес) ссылки?
2. Ссылки формируются до цикла или после с помощью document.write() ?

document.write(AA[8].onclick) - это не выводит html-код ссылки на страницу
...
Рейтинг: 0 / 0
01.04.2009, 20:28
    #35906825
Mr.Power
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java Script : переделывание onclick
gugu09Нужно сначала определиться:
1. myHREF - это переменная или значение (адрес) ссылки?
2. Ссылки формируются до цикла или после с помощью document.write() ?

document.write(AA[8].onclick) - это не выводит html-код ссылки на страницу

myHREF- это адрес , но во время работы цикла он меняется

наприм сначало

myHREF='http://narod.ru'

потом

myHREF='http://yandex.ru'
затем
myHREF='http://google.com'
и тд
.....
' всё это во время цикла

затем во время цикла

каждой ссылке на странице меняется onclick


AA[N].onclick=function anonymous() { window.open(MyHREF, "_blank", width=500, height=350 ) }

дело в том что MyHREF должно принятся в onclick (в anonymous() ) как url в каждом онклике каждой ссылки.

document.write(AA[8].onclick) - получаешь код onclick. он равен этому

function anonymous() { window.open(MyHREF, "_blank", width=500, height=350 ) }

хотя должен принять такой вид


function anonymous() { window.open('http://......ru', "_blank", width=500, height=350 ) }



вот такие пироги!
сам путаюсь!

может стоит прокачать тему оператора APPLY ?
...
Рейтинг: 0 / 0
01.04.2009, 22:02
    #35906915
gugu09
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java Script : переделывание onclick
вообще-то, значением onclick обычно является строка, а не указатель на функцию.
Попробуй взять в кавычки ", а MyHREF заменить на " + MyHREF + "

Если не получится, нужно смотреть на реальном коде, пиши и выкладывай тестовый пример.
...
Рейтинг: 0 / 0
02.04.2009, 11:05
    #35907569
Mr.Power
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java Script : переделывание onclick
вот весь код


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
 function rekLAMAdure(){

  var pj=''
  Anch=document.getElementById("kolka").getElementsByTagName("a")
  AnchorsInDiv=document.getElementById("silki").getElementsByTagName("a")	 
   var jk=[]
   jk=AnchorsInDiv
for (var jj= 0  in jk) 
 {

 var jetzts=new Date();
var zz= 1 +(jetzts.getMilliseconds())% 9 ; 	  
var nhref=Anch[zz].href
var pj=AnchorsInDiv[jj] 

var hrefss=AnchorsInDiv[jj].href
AnchorsInDiv[jj].onclick=function anonymous() { javascript: alert('Перевод'); window.open(hrefss.valueOf(),  "_bl", width= 500 , height= 350 )}

AnchorsInDiv[jj].href=nhref
AnchorsInDiv[jj].className='ru'
AnchorsInDiv[jj].target='_top'

  

	
	
}	 

	}



функция достаёт ссылки из одного дива(1) и перебивает ссылки из второго(2) с hrefами из первых(1) + в Onclick ставятся hrefы исходных ссылок(2).
...
Рейтинг: 0 / 0
02.04.2009, 11:15
    #35907606
Mr.Power
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java Script : переделывание onclick
пробовал типа так,
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<a href="javascript:" onclick="dc"> 11111111111111111111111111111111111 </a> 

<script>

 h=document.links.item( 0 )
 	d='sdcasdcasdcasdcasd'
  h.onclick="function anonymous() {document.write('"+d+"') }"
 d=''
 document.write(h.onclick)
 
</script>



вообще onclick не работает


???????
...
Рейтинг: 0 / 0
02.04.2009, 18:58
    #35909279
AleAle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java Script : переделывание onclick
gugu09,

Значением атрибута onclick является строка, а обработчиком события - функция, поэтому писать
Код: plaintext
 element.onclick = "<something>"
будет ошибкой
...
Рейтинг: 0 / 0
03.04.2009, 13:18
    #35910573
gugu09
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java Script : переделывание onclick
AleAle, разберитесь сначала, что такое атрибут onclick и что обработчик события.

LesNeed,
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<html>
<head>
<title>OnClick sample</title>
</head>
<body>
<a href="#" onclick="alert('init'); return false;">link</a>

<script>

 var h = document.links.item( 0 );
 var d = 'sdcasdcasdcasdcasd.ru';
 h.onclick = function () { alert('ok'); window.open("http://" + d, "_blank", width= 500 , height= 350  ); }

</script>

</body>
</html>
...
Рейтинг: 0 / 0
09.04.2009, 16:30
    #35923239
LesNeed
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java Script : переделывание onclick
Спасибо.
Извините но есть ещё попутный вопросик к этой теме.

Как можно объединить 2 функции onclick?

например есть ссылка в которой в onclick стоит alert('я тута')
нужно к этому присобачить ещё window.open('http://yatut.ru')
так или из другой ссылки!

=)

Как такое реализовать с помощью JS?
...
Рейтинг: 0 / 0
10.04.2009, 00:34
    #35923945
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java Script : переделывание onclick
для этого нужно использовать addEventListener и attachEvent. Поищите по форуму по этим словам.
...
Рейтинг: 0 / 0
10.04.2009, 21:25
    #35925929
RAndrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java Script : переделывание onclick
gugu09
Код: plaintext
1.
h.onclick = function () { alert('ok'); window.open("http://" + d, "_blank", width= 500 , height= 350  );};


Здесь главное, что бы программист понимал, что замкнул h в анонимную функцию. И теперь надо быть аккуратным, что бы в этом фрагменте кода не потекла память, если подобные пустяки вообще волнуют современного программиста. ^^ Сборщик мусора не освободит память из-под h, если не сделать дополнительно h.onclick = null;

Наверно всё-таки лучше так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
function okandgo(url){
return function(){
alert('ok'); window.open("http://" + url, "_blank", width= 500 , height= 350  );
}
}

function setting_links(){
.
.
.
h.onclick = okandgo(link[ 0 ]);
}

Надо вывести h из области видимости создаваемой анонимной функции.
...
Рейтинг: 0 / 0
11.04.2009, 08:29
    #35926082
RAndrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java Script : переделывание onclick
Чего-то я ерунду какую-то написал, всё смешалось в пятницу вечером и h и d. Нормальное замыкание у gugu09, ни чего там не потечет.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / java Script : переделывание onclick / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]