'날카로운 jQuery'12, jQuery의 기교
페이지의 마우스 오른쪽 버튼 클릭 메뉴 비활성화
$(function(){
$(document).on('contextmenu',function(){
return false;
})
})
머리 애니메이션으로 돌아가기
$.fn.scrollTo = function(speed,elem){
var targetOffset = $(this).offset().top;
elme.stop().animate({
scrollTop: targetOffset,
},speed);
return this;
}
$('.goto').click(function(){
$('body').scrollTo(500,$('html body'));
return false;
})
아날로그 입력 상자의placeholder
$(function(){
$('input.text1').val(' ');
textFill($('input.text1'));
function textFill(input){
var originalvalue = input.val();
input.focus(function(){
if($.trim(input.val()) == originalvalue){
input.val('');
}
}).blur(function(){
if($.trim(input.val()) == ''){
input.val(originalvalue);
}
})
}
})
마우스 위치 가져오기
$(function(){
$(document).mousemove(function(e){
$('#xy').html('x: ' + e.pageX + '| y: ' + e.pageY);
})
})
원소의 존재 여부를 판단하다
$(function(){
if($('#id').length){
// do something
}
})
div를 눌러도 점프 가능
$('div').click(function(){
window.location = $(this).find('a').prop('href');
return false;
})
브라우저 크기에 따라 스타일 추가
$(function(){
function checkWindowSize(){
if($(window).width() > 1200){
$('body').addClass('large');
}else{
$('body').removeClass('large');
}
}
$(window).resize(checkWindowSize)
})
화면 중앙에 div 설정
$.fn.center = function(){
this.css('position','absolute');
this.css('top',($(window).height() - this.height()) / 2 + $(window).scrollTop() + 'px' );
this.css('left',($(window).width() - this.width()) / 2 + $(window).scrollLeft() + 'px' );
}
모든 애니메이션 효과 닫기
$(function(){
$.fx.off = true;
})
마우스 왼쪽 및 오른쪽 버튼 감지
$('#xy').mousedown(function(e){
alert(e.which) // 1 2 3
})
글로벌 Ajax 매개변수 설정하기
$('#load').ajaxStart(function(){
showLoading(); // loading
disableButtons(); //
});
$('#load').ajaxComplete(function(){
hideLoading(); // loading
enableButtons(); //
})
선택한 드롭다운 상자 가져오기
$('#someElement').find('option:selected');
$('#someElement option:selected');
$.proxy() 사용
$('#panel').fadeIn(function(){
$('#panel button').click(function(){
$(this).fadeOut();
console.log(this);
})
})
상기 코드에서
this
가 button
를 가리키기 때문에 button
요소가 아니라 #panle
요소를 숨깁니다.$('#panel').fadeIn(function(){
$('#panel button').click($.proxy(function(){
$(this).fadeOut();
console.log(this);
},this));
})
이렇게 이용하면
$.proxy()
방법은this를#panel
로 바꿀 수 있다.입력 상자의 글자 수를 제한하다
$.fn.maxLength = function(max){
this.each(function(){
var type = this.tagName.toLowerCase();
var inputType = this.type ? this.type.toLowerCase() : null;
if(type == 'input' && inputType == 'text' || inputType == 'password'){
// maxLength
this.maxLength = max;
}else if(type == 'textarea'){
this.onkeyup = function(e){
console.log(this.value.length);
if(this.value.length > max){
console.log(11);
this.value = this.value.substring(0,max);
}
}
}
})
}
요소 내부의 html 탭을 삭제하고 텍스트 내용만 남깁니다
$.fn.stripHTML = function(){
var regexp = /])*>/gi;
this.each(function(){
$(this).html($(this).html().replace(regexp,''));
})
return $(this);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.