내 페이지에 라디오가 있고 확인 된 라디오가 변경되면 코드가 IE에서 작동하지 않습니다.
$('input:radio').change(...);
인터넷 검색 후 사람들은 대신 클릭을 사용하도록 제안합니다 . 하지만 작동하지 않습니다.
다음은 예제 코드입니다.
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
$('document').ready(
function(){
$('input:radio').click(
function(){
alert('changed');
}
);
}
);
</script>
</head>
<body>
<input type="radio" name="testGroup" id="test1" />test1<br/>
<input type="radio" name="testGroup" id="test2" />test2<br/>
<input type="radio" name="testGroup" id="test3" />test3</br>
</body>
</html>
IE에서도 작동하지 않습니다.
그래서 무슨 일이 일어나고 있는지 알고 싶어요?
또한 확인 된 라디오를 클릭하면 변경 이벤트가 다시 트리거 될까 두렵습니까?
최신 정보:
댓글을 달 수 없어 여기에 답장을하겠습니다.
IE8을 사용하고 Furqan이 제공하는 링크도 IE8에서 작동하지 않습니다. 이유를 모르겠어요 …
답변
이 코드는 나를 위해 일했습니다.
$(function(){
$('input:radio').change(function(){
alert('changed');
});
});
답변
아래와 같이 이름 속성을 지정할 수 있습니다.
$( 'input[name="testGroup"]:radio' ).change(
답변
저에게도 작동합니다. 여기에 더 나은 솔루션이 있습니다.
바이올린 데모
<form id="myForm">
<input type="radio" name="radioName" value="1" />one<br />
<input type="radio" name="radioName" value="2" />two
</form>
<script>
$('#myForm input[type=radio]').change(function() {
alert(this.value);
});
</script>
jquery
다른 모든 가져 오기 및 자바 스크립트 함수보다 먼저 초기화되었는지 확인해야합니다 . 기능 이기 때문 $
입니다 jquery
. 조차
$(function(){
<code>
});
jquery
초기화 여부를 확인 하지 않습니다. 그것은을 보장 할 <code>
모든 자바 스크립트가 초기화 된 후에 만 실행됩니다.
답변
시험
$(document).ready(
대신에
$('document').ready(
또는 속기 형식을 사용할 수 있습니다.
$(function(){
});
답변
$( 'input[name="testGroup"]:radio' ).on('change', function(e) {
console.log(e.type);
return false;
});
이 구문은 이벤트를 처리하기 위해 좀 더 유연합니다. “변경”을 관찰 할 수있을뿐만 아니라 단일 이벤트 처리기를 사용하여 다른 유형의 이벤트도 여기에서 제어 할 수 있습니다. 이벤트 목록을 첫 번째 매개 변수에 인수로 전달하여이를 수행 할 수 있습니다. jQuery On 참조
둘째, .change ()는 .on ( “change”, handler)의 단축키입니다. 여기를보십시오 . 이벤트를 더 많이 제어 할 수 있기 때문에 .change보다는 .on ()을 사용하는 것을 선호합니다.
마지막으로 이벤트를 요소에 연결하는 대체 구문을 보여줍니다.