2009-12-07 11 views
0

나는 내가 가지고 배열에 링크를 설정하려고 :모방 마우스 클릭

<a href="#" onClick="javascript: doFunction();" name="mylinks">link1</a> 
<a href="#" onClick="javascript: doFunction();" name="mylinks">link2</a> 
<a href="#" onClick="javascript: doFunction();" name="mylinks">link3</a> 
... 

그리고 자바 스크립트는이 같은 배열에 액세스하려면 :

function doAll() 
{ 
    var i, l = document.mylinks.length; 
    for (i = 0; i < l; i++) 
     document.mylinks[i].on_click(); 
} 

그러나 doAll()을 실행하면 document.mylinks.length가 null이거나 객체가 아니라고 알려줍니다. 이 작업을 수행하는 올바른 방법은 무엇입니까?

+2

JQuery와이 물건 만들어! –

답변

1

는 앵커 요소

<div id="linkContainer"> 
    <a href="#" onClick="alert('onclick 1');" name="mylinks1">link 1</a> 
    <a href="#" onClick="alert('onclick 2');" name="mylinks2">link 2</a> 
    ... 
</div> 

를 검색하고 온 클릭하면 더미 이벤트를 생성하고 (지원되는 경우)을 파견한다

function doClick(link) 
{ 
    if (document.createEvent) 
    { 
     var evt = document.createEvent("MouseEvents"); 
     evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); 
     link.dispatchEvent(evt); 
    } 
    else if (link.click) 
     link.click(); 
} 
을 emmulate하기 위해 DOM을 사용

다음 함께 붙여 넣기 :

작동합니다. 테스트 해 보았습니다. jQuery로

+0

왜 그냥 onclick을 호출하는 대신 더미 이벤트를 만드나요? – user105033

+0

보다 광범위하게 지원되기 때문에 – pstanton

+0

... 또는 그렇게 들었습니다. – pstanton

1

document.getElementsByName을 사용해야합니다. 먼저

function doAll(){ 
    var l = document.getElementsByName('mylinks'); 
    for (var i in l) 
     l[i].onclick(); 
} 
0

:

<a class="mylinks">link1</a> 
<a class="mylinks">link2</a> 
<a class="mylinks">link3</a> 

$(document).ready(function() 
{ 
    $('a.mylinks').click(doFunction); 
    var doAll = function() 
    { 
     $('a.mylinks').click(); 
    } 
}); 
관련 문제