|
|
|
| Как перехватить событие click в JavaScript при нажатии на элемент <div> или <a>
и определить атрибуты, индентификатор и значение нажатого элемента? | |
|
|
|
|
|
|
|
для: Valleri
(17.05.2011 в 15:49)
| | "значение нажатого элемента" - это что такое? | |
|
|
|
|
|
|
|
для: Valleri
(17.05.2011 в 15:49)
| | <a id="id" href="#" class="cls" onclick="alert(this.className); alert(this.id);alert(this.innerHTML)">ссылка</a> | |
|
|
|
|
|
|
|
для: psychomc
(17.05.2011 в 17:54)
| | <script>
код определяющий кликнутую ссылку( идентификатор, ссылку, текст сылки )
</script>
<a id="idXXX" href="http://wewewew.ru" >текст сылки</a>
У меня много ссылок на странице. Если у каждой писать вызов, то груз большой. | |
|
|
|
|
|
|
|
для: Valleri
(17.05.2011 в 20:48)
| | В массив все idXXX собрать сможете? Как вариант допускается ли использование jQuery?
Можно отталкиваться от следующего скрипта
<script>
window.onload = function () {
document.getElementById('idXXX').onclick = function (event){
alert(event.target.id);
}
}
</script>
<a id="idXXX" href="#">текст сылки</a>
|
| |
|
|
|
|
|
|
|
для: cheops
(17.05.2011 в 21:26)
| | А как href и текст ссылки? Кроссбраузерность? | |
|
|
|
|
|
|
|
для: cheops
(17.05.2011 в 21:26)
| | А как href и текст ссылки? Кроссбраузерность?
alert(event.target.href ); ??
текст ссылки? | |
|
|
|
|
|
|
|
для: Valleri
(17.05.2011 в 21:46)
| |
onload = function ()
{
for (var j = 0, cl = document.getElementsByTagName ('A'), lg = cl.length; j < lg; j++) cl [j].onclick = myFunc;
}
function myFunc (ev)
{
var e = window.event || ev, obj = e.target || e.srcElement;
alert (obj.id) //или (obj.href) или вообще всё то, что надо знать о теге obj, на который кликнули
//Узнать можно значение любого свойства тега (включая свойства стиля - через currentStyle или getComputedStyle).
//Узнать можно значение любого аргумента тега.
//Только вот "значения нажатого элемента" узнать нельзя.
}
|
[поправлено модератором] | |
|
|
|
|
|
|
|
для: Абырвалг
(18.05.2011 в 00:07)
| | Выражение "значение нажатого элемента". Метафора, сленг.
Было использовано для сообразительных.
Уточняю по требованию для Вас.
Например, вот так, правильно будет?
Но работает не во всех браузерах.
<script language="JavaScript" type="text/javascript">
window.onclick = function() {
alert(event.target.id);
alert(event.target.href);
alert(event.target.text); // имелось ввиду это значение, в DOM это "nodeValue"
}
</script>
<!-- <p id="para"><em>JavaScript</em> Phrasebook</p> -->
<a id="para1" href="http://infois.ru">JavaScrip1</a>
<a id="para2" href="http://infois2.ru">JavaScrip2</a>
<a id="para3" href="http://infois2.ru" >JavaScrip3</a>
|
В математике есть понятие значение переменной.
В php это наверное value
В JavaScript это зависит от способа обращения, например в DOM это "nodeValue"...
http://www.javascriptkit.com/domref/nodetype.shtml
<div id="test">Old text</div>
<script type="text/javascript">
if (document.getElementById("test").firstChild.nodeName=="#text")
document.getElementById("test").firstChild.nodeValue="New text"
</script>
|
Вообще-то надо думать человеческой головой, прежде чем пытаться оскорблять | |
|
|
|
|
|
|
|
для: cheops
(17.05.2011 в 21:26)
| | А как href и текст ссылки? Кроссбраузерность?
alert(event.target.href ); ??
текст ссылки? | |
|
|
|
|
|
|
|
для: Valleri
(17.05.2011 в 21:47)
| | У вас getElementById('idXXX'). Так его и надо определить | |
|
|
|
|
|
|
|
для: Valleri
(17.05.2011 в 15:49)
| | Псевдокод:
element.onclick = function(e) {
var elm = e.target || event.srcElement; //получение элемента, на котором кликнули
alert(elm.id);
}
|
Решал похожую проблему на jQuery тут. | |
|
|
|