2014-01-17 2 views
1

어쩌면 누군가가보고 문제가있는 곳에서 대답 할 수 있습니다. IE8에서는 첫 번째 줄 'lov_Dg2Id_D_1'이 아니라 'lov_Dg2Id_D_2'라는 경고가 표시됩니다.IE8에서 corectly로 작동하지 않는 Jq

var SecondDiagnosis=$("span[id^='lov_Dg2Id_D_']"); 
var SpanBlock2=SecondDiagnosis.find('a'); 
var eventH2=SpanBlock2.attr("onclick"); 
//SpanBlock2.attr("onclick", "DgIdOnClick(document.getElementById('MovementNumber_D_'+parentElement.getAttribute('id').substring(12)).id,2);"+eventH2); 
SpanBlock2.attr("onclick", "alert('HI!');"+eventH2); 

어떻게하면 onclick 이벤트를 추가 할 수 있습니까? 감사합니다 Helpfull과 올바른 답변이 guiranteed

,

+1

j를 사용하는 경우 왜 클릭 처리기를'.click()'또는'.on()'메소드와 함께 추가하지 않는 것입니까? – nnnnnn

답변

2

)를 사용하는 라이브러리에 대해 알아보세요.

이벤트를 설정하는 데 attr을 사용하지 마십시오! jQuery에는 on() 또는 click()과 같은 메소드가 있습니다.

SpanBlock2.on("click", function() { alert('HI!'); }); 

원래 이벤트를 복사/호출 할 필요가 없습니다. 여전히 원래 상태로 유지됩니다.

당신이 순서를 변경하려면, 당신은 이벤트

$("button").each( 
    function() { 
     var btn = $(this); 
     var oldClick = btn[0].onclick; 
     btn.on("click", function(){ alert("a"); }); 
     if(oldClick) { 
      btn[0].onclick = null;  
      btn.on("click", oldClick); 
     } 
    } 
); 

http://jsfiddle.net/7K9pU/

+0

이 경우 경고는 기본 이벤트 이후입니다. (위의 경고에 대한 설명은 먼저 –

+0

입니다. 아마도 저자가 jQuery를 더 잘 이해하기 위해 질문을하고 있습니다. 아마도 약간의 유예가 좋을 것 같습니다.) – Sampson

+0

@Speakwithsystem이 방금 일부 코드를 게시했습니다. 새로 추가 된 이벤트 다음에 인라인 이벤트를 만들 수 있습니다. – epascarello

1

변화를 결합해야합니다이 : 이것에

SpanBlock2.attr("onclick", "alert('HI!');"+eventH2); 

:

var SecondDiagnosis=$("span[id^='lov_Dg2Id_D_']"); 
var SpanBlock2=SecondDiagnosis.find('a'); 

SpanBlock2.on("click", function(){ 
    // all your stuff you want on click of it. 
}); 
+0

Dier Jai! JQ가 최선의 측면이 아님 기본 질문에 게시 된 내용을 모두 4 줄 수정할 수 있습니까 감사합니다. ;) –

+0

@Speakwithsystem 그래서 당신도 경고하고 싶어. – Jai

+0

제대로 작동하도록 코드를 수정하는 방법에 대한 예제를 이해하지 못했습니다. 첫 번째 우편 번호를 변경할 수 있습니까? 감사합니다. 고맙습니다.) –

관련 문제