필자는 .preventDefault를 추가하기 전에 2 개의 jQuery 스크립트를 가지고 있으며, .preventDefault를 추가 한 후에는 동일한 스크립트의 복사본을 가지고 있습니다. jQuery를 초기에 작동하지만 내가 .preventDefault()jQuery .preventDefault();
작동하지 않습니다$(window).load(function(){
$(document).ready(function(){
$("span[id$='_ff5_1']").each(function() { //returns a collection of elements that must be iterated through using each
if ($(this).text() == "Yes") { //test value returned from non-input field
clearID();
$("tr.anon").hide();
} else {
$("tr.anon").show();
}
});
if ($("select[title='action']").val() == "") {
$("tr.actDet").hide();
}
$("select[title='organizationalElement']").focusout(function() {
if ($(this).val() === "I don\'t know") {
alert("If no organizational element is selected, additional time may be required to route this request");
} // close if
$("select[title='action']").change(function(){
$(".actDet").toggle($(this).val()!= "");
}); // close action.change
});//close select.focusout
}); // close doc.ready
}); // close window.load
스크립트를 작동
초기 스크립트 ...
$(window).load(function(){
$(document).ready(function(){
$("span[id$='_ff5_1']").each(function() { //returns a collection of elements that must be iterated through using each
if ($(this).text() == "Yes") { //test value returned from non-input field
clearID();
$("tr.anon").hide();
} else {
$("tr.anon").show();
}
});
if ($("select[title='action']").val() == "") {
$("tr.actDet").hide();
}
$("select[title='organizationalElement']").focusout(function() {
if ($(this).val() !== "I don\'t know") {
$(this).preventDefault();
} else {
alert("If no organizational element is selected, additional time may be required to route this request");
} // close if
$("select[title='action']").change(function(){
$(".actDet").toggle($(this).val()!= "");
}); // close action.change
});//close select.focusout-- close edit record stuff
}); // close doc.ready
}); // close window.load
유일한 변화를 추가 한 후 내가 만든 없습니다 초기 if 문이 .preventDefault()를 호출하는 if/else가됩니다. 첫 번째 스크립트는 훌륭하게 작동하지만 두 번째 스크립트는 실패합니다. 왜? organizationalElement의 값이 기존 레코드의 idk 인 경우 .preventDefault() 메서드를 호출합니다.
앤드류가 : 당신의 편집에 명확히하기 위해 ... 나는 내 스크립트를 수정해야 ...
if ($(this).val() !== "I don\'t know") {
$(this).click(function(e) { e.preventDefault(); });
} else {
alert("If no organizational element is selected, additional time may be required to route this request");
} // close if
... B/C 내가 변경하는 경우 제대로 작동 taht를 언급 $ (this) .preventDefault(); ~로 e.preventDefault();
$ (this) 객체에 메서드를 첨부하고 싶다면 실제로 작성하는 방법을 보여 주시겠습니까?
감사합니다.preventDefault가 이벤트가 버블 링되는 것을 멈추지 않는다는 것을 알고 있지만 버블 링을 원하지 않는다고 확신하지는 않습니다. 아마도 jQuery 스크립트 전체가 작동하지 않게 된 것일까? – jg100309
@ jg100309 아니요, 원래 문제는 이벤트 객체 대신 preventDefault를 호출하는 것이 었습니다. 이벤트 객체를 처리기에 전달하고 내 응답 –
과 같이 * it *에 preventDefault를 호출하십시오. * 참고 : 두 개의'''사이에있는 경우'''문자를 이스케이프 할 필요가 없습니다. * – SeinopSys