jQuery를 사용하여 .change()
또는 발생시 함수를 실행하고 싶습니다 .keyup()
.
이 같은.
if ( jQuery(':input').change() || jQuery(':input').keyup() )
{
alert( 'something happened!' );
}
편집하다
언급하는 것을 잊어서 미안합니다. 둘 다 .change()
및 .keyup()
일부 변수가 범위 내에 있어야합니다.
jQuery를 사용하여 .change()
또는 발생시 함수를 실행하고 싶습니다 .keyup()
.
이 같은.
if ( jQuery(':input').change() || jQuery(':input').keyup() )
{
alert( 'something happened!' );
}
편집하다
언급하는 것을 잊어서 미안합니다. 둘 다 .change()
및 .keyup()
일부 변수가 범위 내에 있어야합니다.
need some of the variables to be in-scope
이벤트 핸들러를 등록 할 때 사용중인 이벤트의 변수를 의미합니까? 이벤트 매개 변수 (일반적으로라는 이름 e
) 에서 이벤트 변수를 얻습니다 . 그렇지 않으면 이벤트 가 발생할 때까지 창 수준이나 요소의 데이터에 유지하거나 클로저를 살펴 봐야 할 수 있습니다.
답변:
페이지 콘텐츠를 동적으로 생성하거나 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()
개별적으로 전달하거나 호출 된 각 함수에 동일한 함수 선언을 전달해야합니다. 논리 복제 중 ... 절대 용납 할 수 없습니다.$.bind()
가 생성 될 때 동적으로 바인딩되지 않습니다. 따라서 바인딩 :input
한 다음 DOM에 입력을 추가하면 해당 bind 메서드가 새 입력에 연결되지 않습니다. 그런 다음 명시 적으로 바인딩을 해제 한 다음 DOM의 모든 요소에 다시 바인딩해야합니다 (그렇지 않으면 바인딩이 중복됩니다). 이 프로세스는 입력이 DOM에 추가 될 때마다 반복되어야합니다.var bind_to = ':input';
라는 변수 생성 bind_to
과 같은 모든 입력 유형을 잡아 선택기이며 input
, textarea
그리고 button
.
var bind_to = '#myInput';
어쨌든 ajax 호출은 두 번 실행됩니다. 왜???
이 작업을 수행.
$(function(){
var myFunction = function()
{
alert("myFunction called");
}
jQuery(':input').change(myFunction).keyup(myFunction);
});
change()
그리고 keyup()
당신은 체인 것을 할 수 있도록 포장 세트를 돌려줍니다.
단일 함수를 작성하고 둘 다에 대해 호출하십시오.
function yourHandler(e){
alert( 'something happened!' );
}
jQuery(':input').change(yourHandler).keyup(yourHandler);
change () 및 keyup () 이벤트 등록 함수는 원래 집합을 반환하므로 연결할 수 있습니다.
keyup 이벤트 입력 jquery
$(document).ready(function(){
$("#tutsmake").keydown(function(){
$("#tutsmake").css("background-color", "green");
});
$("#tutsmake").keyup(function(){
$("#tutsmake").css("background-color", "yellow");
});
});
<!DOCTYPE html>
<html>
<title> jQuery keyup Event Example </title>
<head>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
<body>
Fill the Input Box: <input type="text" id="tutsmake">
</body>
</html>