jQuery 'if .change() 또는 .keyup()'
jQuery를 사용하여 다음 중 하나의 경우 함수를 실행하고 싶습니다..change()
또는.keyup()
상승했습니다.
이런 거.
if ( jQuery(':input').change() || jQuery(':input').keyup() )
{
alert( 'something happened!' );
}
편집
언급하는 것을 잊어서 죄송합니다.둘다요..change()
그리고..keyup()
범위에 포함할 변수가 필요합니다.
여러 이벤트를 공백으로 구분하여 여러 이벤트에 바인딩할 수 있습니다.
$(":input").on("keyup change", function(e) {
// do stuff!
})
여기 서류들.
AJAX를 통해 동적으로 페이지 콘텐츠를 생성하거나 콘텐츠를 로드하는 경우 다음 예를 참조하십시오.
- AJAX 요청과 같이 스크립트가 두 번 이상 로드되는 경우 이중 바인딩을 방지합니다.
- 바인딩은 다음과 같습니다.
body
어떤 요소가 추가, 이동, 제거 및 재추가되었는지에 관계없이 문서의 모든 하위 항목body
지정된 선택기와 일치하면 올바른 바인딩이 유지됩니다.
코드:
// Define the element we wish to bind to.
var bind_to = ':input';
// Prevent double-binding.
$(document.body).off('change', bind_to);
// Bind the event to all body descendants matching the "bind_to" selector.
$(document.body).on('change keyup', bind_to, function(event) {
alert('something happened!');
});
주목해주세요!을 이용하고 있습니다.$.on()
그리고.$.off()
다음과 같은 이유로 다른 방법보다.
$.live()
그리고.$.die()
는 더 이상 사용되지 않으며 최신 버전의 jQuery에서는 생략되었습니다.- 별도의 함수를 정의하고(따라서 글로벌 범위를 혼란스럽게 함) 함수를 두 개 모두에 전달해야 합니다.
$.change()
그리고.$.keyup()
개별적으로 또는 동일한 함수 선언을 각 함수에 전달합니다. 논리 복제...절대 용납할 수 없는 일입니다. - DOM에 요소가 추가되면,
$.bind()
요소가 생성될 때 요소에 동적으로 바인딩되지 않습니다.그러므로 만약 당신이 결합한다면.:input
그런 다음 DOM에 입력을 추가합니다. 바인딩 방법이 새 입력에 연결되지 않습니다.그런 다음 명시적으로 바인딩을 해제한 다음 DOM의 모든 요소에 다시 바인딩해야 합니다. 그렇지 않으면 바인딩이 중복됩니다.입력이 DOM에 추가될 때마다 이 프로세스를 반복해야 합니다.
이렇게 해주세요.
$(function(){
var myFunction = function()
{
alert("myFunction called");
}
jQuery(':input').change(myFunction).keyup(myFunction);
});
변경 및 키업 이벤트에 가입할 수 있습니다.
$(function() {
$(':input').change(myFunction).keyup(myFunction);
});
어디에myFunction
실행할 기능은 다음과 같습니다.
function myFunction() {
alert( 'something happened!' );
}
그런 식으로 사건이 진행되는 것이 아닙니다.대신, 당신은 그들에게 그들이 발생했을 때 호출될 기능을 제공합니다.
$("input").change(function() {
alert("Something happened!");
});
하나의 함수를 작성하고 두 함수를 모두 호출합니다.
function yourHandler(e){
alert( 'something happened!' );
}
jQuery(':input').change(yourHandler).keyup(yourHandler);
change() 및 keyup() 이벤트 등록 기능은 원래 세트를 반환하여 체인으로 연결할 수 있습니다.
자, 여기 제가 Jquery를 사용하여 해결한 방법이 있습니다.
$("#c_debit").on("keyup change", function(e) {
let debitValue = $("#c_debit").val();
if(debitValue != 0)
{
$( "#c_credit" ).prop( "disabled", true );
}
else{
$( "#c_credit" ).prop( "disabled", false );
}
})
언급URL : https://stackoverflow.com/questions/7757293/jquery-if-change-or-keyup
'programing' 카테고리의 다른 글
스프링 보안:콩의 정의 없음예외:[또는 스프링 프레임워크] 유형의 적격한 원두가 없습니다.security.config.config.confirmation.ObjectPostProcessor]을(를) 찾았습니다. (0) | 2023.08.12 |
---|---|
asp에서 선택한 값 읽기:jQuery를 사용한 라디오 버튼 목록 (0) | 2023.08.12 |
사용자가 특정 요소로 스크롤할 때 이벤트 트리거 - jQuery 사용 (0) | 2023.08.12 |
Oracle의 sqlnet.log 파일 생성 중지 (0) | 2023.08.07 |
iPad용 Safari에서 jQuery를 사용하여 터치 이벤트를 인식하려면 어떻게 해야 합니까?가능합니까? (0) | 2023.08.07 |