매우 긴 옵션 목록을 선택 목록에 추가하려면 클릭시 추가하십시오. 목록이 여러 번 추가되지 않도록하고 싶습니다. 어떻게해야합니까? .one()
: 한 번만 이벤트 핸들러를 실행하는 방법이있다한번만 누르기 허용
$("#skiresort").click(function(){
$("#skiresort").load("/v3/inc/review.php");
});
매우 긴 옵션 목록을 선택 목록에 추가하려면 클릭시 추가하십시오. 목록이 여러 번 추가되지 않도록하고 싶습니다. 어떻게해야합니까? .one()
: 한 번만 이벤트 핸들러를 실행하는 방법이있다한번만 누르기 허용
$("#skiresort").click(function(){
$("#skiresort").load("/v3/inc/review.php");
});
$("#skiresort").one('click', function(){
$("#skiresort").load("/v3/inc/review.php");
});
펠릭스의 대답은 jQuery를위한 완벽한, 나는 단지 그것을 위해 일반적인 자바 스크립트 기술을 보여주기 위해이 추가 해요 : 이제
function runOnce(f) {
var called = false;
return function() {
if (!called) {
called = true;
return f.apply(this, arguments);
}
};
}
이처럼 사용할 수 있습니다
var myNewFunction = runOnce(myFunction); // this does not run "myFunction", but returns a new one that will only run once.
myNewFunction(1, 2, 3); // runs the "myFunction" and returns whatever it returns
myNewFunction(1, 2, 3); // doesn't do anything, just returns undefined
+1 좋은 아이디어 ... –
동일한 버튼을 다시 클릭하지 못하게하고 싶지만 다른 버튼을 클릭하면 이전 버튼을 클릭 할 수 있어야합니다. 어떻게해야합니까? –
@Uday : 마지막으로 클릭 한 버튼에 대한 참조를 보유하는 공유 변수를 사용하여 비교할 수 있습니다. –
예. 나는 그것을 마침내했다. 나는 그것에 대한 어떤 기능도있을 수 있지만. –