중요 : onclick 특성을 사용해야합니다. 필자의 경우 이벤트 수신기/핸들러에서 Jquery를 사용하는 것은 옵션이 아닙니다. 왜? 내 코드에는 특성과 코드의 표현에 의존하는 많은 다른 것들이 있습니다.JavaScript 함수가 onclick 속성에서 올바르게 호출되지 않습니다.
onclick
에 경고를 넣어 예상 경고가 팝업 창에 표시되고 false를 반환 버튼을 눌러 제출되는 양식을 방지대로 작동 속성 :
<script>
$().ready(function() {
$('.pretty .prettycheckbox').click(function() {
var myType = $('.pretty .prettycheckbox').find("input[class^=car-type]:checked").val();
if (myType == 1) {
$('#sendButton').attr("onclick", "alert('Direct!'); return false;");
}
if (myType == 2) {
$('#sendButton').removeAttr("onclick");
}
});
});
</script>
을하지만 경우에 작동하지 않습니다 onclick을 atttribute 등으로부터 함수를 호출 :
<script>
$().ready(function() {
$('.pretty .prettycheckbox').click(function() {
var myType = $('.pretty .prettycheckbox').find("input[class^=car-type]:checked").val();
if (myType == 1) {
$('#sendButton').attr("onclick", "submitDB(); return false;");
}
if (myType == 2) {
$('#sendButton').removeAttr("onclick");
}
});
});
</script>
<script>
$().ready(function(){
function submitDB() {
alert('From function!');
}
});
</script>
어떤 생각을 왜?
왜 함수가 무시됩니까?
jQuery를 사용하고 있고, 이벤트 핸들러를 바인드하는 데'on'을 사용하고, 이벤트 핸들러 속성을 추가하지 마십시오. – zzzzBov
@zzzzBov 'onclick' 속성을 사용해야합니다. –
@JimmyHendrikz ** 이유. ** 정상적인 클릭 이벤트가 아니라 onclick을 추가해야하는 이유는 수정해야 할 다른 문제 때문일 가능성이 큽니다. –