2010-11-24 2 views
4

아무도 도와 줄 수 있습니까?JQuery : 텍스트 상자에서 이벤트 변경 html 컨트롤은 html 버튼 (라이브 이벤트)에서 Click 이벤트를 취소합니다

텍스트 상자에 change 이벤트가 있고 버튼에 click 이벤트가 있습니다 (모든 html).

버튼을 클릭하면 클릭 이벤트가 발생합니다.

하지만 텍스트 상자에서 뭔가를 변경 한 다음 단추를 클릭하면 변경 이벤트에서 이벤트가 발생하지만 어떤 단추를 클릭 이벤트를 결코 얻지 못합니다.

이것은 내 jquery입니다.이 문제를 해결할 수있는 방법이 있습니다 .. 길을 잃었습니다.

$('#myTextbox').live('change', function() { 
     $.ajax({ 
      type: "POST", 
      url: "test.aspx/GetDate", 
      data: "{}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function(msg) { 
       alert('the date is ' + msg.d); 
      } 
     }); 


    }); 

    $('#myButton').live('click', function() { 
     alert('i am in click'); 

    }); 

편집

내가 정말 간단한 HTML 양식을 만든 먼저 변경 화재 확실 충분한 클릭 이벤트가 발생하지 않습니다 - 실제로이 예제에서 내가 사용한 흐림 이벤트를 ... 하지만 그것도 동일합니다

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 

    <script src="Scripts/jquery-1.4.2.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
    $(function() { 
     $('#htmlbutton').bind('click', function() { 

      alert('i am in click'); 

     }); 



     $('#htmltextbox').bind('blur', function() { 

      alert('in blur'); 

     }); 
    }); 
</script> 

</head> 
<body> 
    <form id="form1"> 
    <div> 
     <input id="htmlbutton" type="button" value="button" /><input id="htmltextbox" type="text" /></div> 
    </form> 
</body> 
</html> 
+0

예를 들어 jsFiddle에서 예제 페이지를 만들 수 있습니까? 정말 아무것도 될 수 있습니다. 양식이 제출되지 않았습니까? 어쩌면 당신은 끝에 false를 반환하여 클릭 이벤트를 취소해야합니다 .. – Harmen

+0

물론 네, 그 제출하지 꽤 확신 ... 나는 경고 ('나는 클릭'); 거기에 ... 그리고 내가 말했듯이 텍스트 상자에 아무것도 넣지 않으면 변경 이벤트가 발생하지 않습니다. 그렇다면 버튼에 클릭 이벤트가 발생합니다. – Martin

+0

방금 ​​문제를 확인했습니다. 좀 더 명확하게하고 싶습니다. 입력을 마치고 버튼을 클릭하기 만하면됩니다. 클릭 이벤트가 발생하지 않는 경우입니다. – shoebox639

답변

3

경고가 버튼 클릭 이벤트를 스쿼시하고있는 것처럼 보입니다. 경고하는 대신 두 요소의 색상을 변경하면 두 이벤트가 모두 발생하는 것을 볼 수 있습니다.

마우스 버튼이 버튼 위로 이동하자마자 흐림/변경 이벤트가 발생합니다. 알림이 있기 때문에 클릭하고 클릭하면 버튼에 버튼이 등록되지 않습니다. 이는 클릭 이벤트가 발생하는 데 필요한 것입니다.

아약스가 끝나야 다음 이벤트로 넘어갔습니다. 전화가 너무 빨리 돌아와서 어쨌든 클릭 소리가 날라 가지 않는 한.

+0

와우 감사합니다! 그것은 작동합니다! 그것은 경고이었다! !! 이게 정상인가? – Martin

+0

내가 설명했듯이 발사하기까지 마우스가 내려 가서 다시 올라와야합니다. 버튼을 마우스로 누른 채로 드래그하면 클릭 이벤트가 발생하지 않는다는 것을 확인할 수 있습니다. 여기에서도 똑같은 일이 일어났습니다. 그것은 마우스를 아래로 등록했지만 경고가 나타납니다. 나는 당신이 마우스를 멀리 옮겼다 고 추측했다. 경고 대화 상자는 동기식이므로 모든 자바 스크립트 실행이 중지됩니다. 그런 다음 마우스 업이 등록되지 않습니다. – shoebox639

+0

시원한 설명! 감사 – Martin

관련 문제