26 个 jQuery使用技巧

本文提供了一系列实用的jQuery技巧,包括禁用右键点击、检测浏览器类型、列高度相同等,旨在帮助开发者更好地利用jQuery解决实际问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1. 禁用右键点击(Disable right-click)

[javascript] view plain copy print ?
  1. $(document).ready(function(){ 
  2.     $(document).bind("contextmenu",function(e){ 
  3.         return false
  4.     }); 
  5. }); 
$(document).ready(function(){
    $(document).bind("contextmenu",function(e){
        return false;
    });
});


2. 禁用搜索文本框(Disappearing search field text)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2. $("input.text1").val("Enter your search text here"); 
  3.    textFill($('input.text1')); 
  4. }); 
  5.  
  6.     function textFill(input){ //input focus text function 
  7.     var originalvalue = input.val(); 
  8.     input.focus( function(){ 
  9.         if( $.trim(input.val()) == originalvalue ){ input.val(''); } 
  10.     }); 
  11.     input.blur( function(){ 
  12.         if( $.trim(input.val()) == '' ){ input.val(originalvalue); } 
  13.     }); 
$(document).ready(function() {
$("input.text1").val("Enter your search text here");
   textFill($('input.text1'));
});

	function textFill(input){ //input focus text function
 	var originalvalue = input.val();
 	input.focus( function(){
  		if( $.trim(input.val()) == originalvalue ){ input.val(''); }
 	});
 	input.blur( function(){
  		if( $.trim(input.val()) == '' ){ input.val(originalvalue); }
 	});
}


3. 新窗口打开链接(Opening links in a new window)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.    //Example 1: Every link will open in a new window 
  3.    $('a[href^="http://"]').attr("target", "_blank"); 
  4.  
  5.    //Example 2: Links with the rel="external" attribute will only open in a new window 
  6.    $('a[@rel$='external']').click(function(){ 
  7.       this.target = "_blank"
  8.    }); 
  9. }); 
  10. // how to use 
  11. <a href="http://www.opensourcehunter.com" rel="external">open link</a> 
$(document).ready(function() {
   //Example 1: Every link will open in a new window
   $('a[href^="http://"]').attr("target", "_blank");

   //Example 2: Links with the rel="external" attribute will only open in a new window
   $('a[@rel$='external']').click(function(){
      this.target = "_blank";
   });
});
// how to use
<a href="http://www.opensourcehunter.com" rel="external">open link</a>


4. 检测浏览器(Detect browser)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2. // Target Firefox 2 and above 
  3. if ($.browser.mozilla && $.browser.version >= "1.8" ){ 
  4.     // do something 
  5.  
  6. // Target Safari 
  7. if( $.browser.safari ){ 
  8.     // do something 
  9.  
  10. // Target Chrome 
  11. if( $.browser.chrome){ 
  12.     // do something 
  13.  
  14. // Target Camino 
  15. if( $.browser.camino){ 
  16.     // do something 
  17.  
  18. // Target Opera 
  19. if( $.browser.opera){ 
  20.     // do something 
  21.  
  22. // Target IE6 and below 
  23. if ($.browser.msie && $.browser.version <= 6 ){ 
  24.     // do something 
  25.  
  26. // Target anything above IE6 
  27. if ($.browser.msie && $.browser.version > 6){ 
  28.     // do something 
  29. }); 
$(document).ready(function() {
// Target Firefox 2 and above
if ($.browser.mozilla && $.browser.version >= "1.8" ){
	// do something
}

// Target Safari
if( $.browser.safari ){
	// do something
}

// Target Chrome
if( $.browser.chrome){
	// do something
}

// Target Camino
if( $.browser.camino){
	// do something
}

// Target Opera
if( $.browser.opera){
	// do something
}

// Target IE6 and below
if ($.browser.msie && $.browser.version <= 6 ){
	// do something
}

// Target anything above IE6
if ($.browser.msie && $.browser.version > 6){
	// do something
}
});


5. 预加载图片(Preloading images)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2. jQuery.preloadImages = function() 
  3.   for(var i = 0; i<arguments.length; i++)="" {="" jquery("<img="">").attr("src", arguments[i]); 
  4.   } 
  5. // how to use 
  6. $.preloadImages("image1.jpg"); 
  7. }); 
  8. </arguments.length;> 
$(document).ready(function() {
jQuery.preloadImages = function()
{
  for(var i = 0; i<arguments.length; i++)="" {="" jquery("<img="">").attr("src", arguments[i]);
  }
}
// how to use
$.preloadImages("image1.jpg");
});
</arguments.length;>


6. 样式筛选(CSS Style switcher)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.     $("a.Styleswitcher").click(function() { 
  3.         //swicth the LINK REL attribute with the value in A REL attribute 
  4.         $('link[rel=stylesheet]').attr('href' , $(this).attr('rel')); 
  5.     }); 
  6. // how to use 
  7. // place this in your header 
  8. <link rel="stylesheet" href="default.css" type="text/css"
  9. // the links 
  10. <a href="#" class="Styleswitcher" rel="default.css">Default Theme</a> 
  11. <a href="#" class="Styleswitcher" rel="red.css">Red Theme</a> 
  12. <a href="#" class="Styleswitcher" rel="blue.css">Blue Theme</a> 
  13. }); 
$(document).ready(function() {
	$("a.Styleswitcher").click(function() {
		//swicth the LINK REL attribute with the value in A REL attribute
		$('link[rel=stylesheet]').attr('href' , $(this).attr('rel'));
	});
// how to use
// place this in your header
<link rel="stylesheet" href="default.css" type="text/css">
// the links
<a href="#" class="Styleswitcher" rel="default.css">Default Theme</a>
<a href="#" class="Styleswitcher" rel="red.css">Red Theme</a>
<a href="#" class="Styleswitcher" rel="blue.css">Blue Theme</a>
});


7. 列高度相同(Columns of equal height)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2. function equalHeight(group) { 
  3.     tallest = 0; 
  4.     group.each(function() { 
  5.         thisHeight = $(this).height(); 
  6.         if(thisHeight > tallest) { 
  7.             tallest = thisHeight; 
  8.         } 
  9.     }); 
  10.     group.height(tallest); 
  11. // how to use 
  12. $(document).ready(function() { 
  13.     equalHeight($(".left")); 
  14.     equalHeight($(".right")); 
  15. }); 
  16. }); 
$(document).ready(function() {
function equalHeight(group) {
    tallest = 0;
    group.each(function() {
        thisHeight = $(this).height();
        if(thisHeight > tallest) {
            tallest = thisHeight;
        }
    });
    group.height(tallest);
}
// how to use
$(document).ready(function() {
    equalHeight($(".left"));
    equalHeight($(".right"));
});
});


8. 字体大小调整(Font resizing)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.   // Reset the font size(back to default) 
  3.   var originalFontSize = $('html').css('font-size'); 
  4.     $(".resetFont").click(function(){ 
  5.     $('html').css('font-size', originalFontSize); 
  6.   }); 
  7.   // Increase the font size(bigger font0 
  8.   $(".increaseFont").click(function(){ 
  9.     var currentFontSize = $('html').css('font-size'); 
  10.     var currentFontSizeNum = parseFloat(currentFontSize, 10); 
  11.     var newFontSize = currentFontSizeNum*1.2; 
  12.     $('html').css('font-size', newFontSize); 
  13.     return false
  14.   }); 
  15.   // Decrease the font size(smaller font) 
  16.   $(".decreaseFont").click(function(){ 
  17.     var currentFontSize = $('html').css('font-size'); 
  18.     var currentFontSizeNum = parseFloat(currentFontSize, 10); 
  19.     var newFontSize = currentFontSizeNum*0.8; 
  20.     $('html').css('font-size', newFontSize); 
  21.     return false
  22.   }); 
  23. }); 
$(document).ready(function() {
  // Reset the font size(back to default)
  var originalFontSize = $('html').css('font-size');
    $(".resetFont").click(function(){
    $('html').css('font-size', originalFontSize);
  });
  // Increase the font size(bigger font0
  $(".increaseFont").click(function(){
    var currentFontSize = $('html').css('font-size');
    var currentFontSizeNum = parseFloat(currentFontSize, 10);
    var newFontSize = currentFontSizeNum*1.2;
    $('html').css('font-size', newFontSize);
    return false;
  });
  // Decrease the font size(smaller font)
  $(".decreaseFont").click(function(){
    var currentFontSize = $('html').css('font-size');
    var currentFontSizeNum = parseFloat(currentFontSize, 10);
    var newFontSize = currentFontSizeNum*0.8;
    $('html').css('font-size', newFontSize);
    return false;
  });
});



9. 返回页面顶部(Smooth(animated) page scroll)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2. $('a[href*=#]').click(function() { 
  3. if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') 
  4. && location.hostname == this.hostname) { 
  5.    var $target = $(this.hash); 
  6.    $target = $target.length && $target 
  7.    || $('[name=' + this.hash.slice(1) +']'); 
  8.    if ($target.length) { 
  9.   var targetOffset = $target.offset().top; 
  10.   $('html,body'
  11.   .animate({scrollTop: targetOffset}, 900); 
  12.     return false
  13.    } 
  14.   } 
  15.   }); 
  16. // how to use 
  17. // place this where you want to scroll to 
  18. <a name="top"></a> 
  19. // the link 
  20. <a href="#top">go to top</a> 
  21. }); 
$(document).ready(function() {
$('a[href*=#]').click(function() {
 if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
 && location.hostname == this.hostname) {
   var $target = $(this.hash);
   $target = $target.length && $target
   || $('[name=' + this.hash.slice(1) +']');
   if ($target.length) {
  var targetOffset = $target.offset().top;
  $('html,body')
  .animate({scrollTop: targetOffset}, 900);
    return false;
   }
  }
  });
// how to use
// place this where you want to scroll to
<a name="top"></a>
// the link
<a href="#top">go to top</a>
});



11. 获取鼠标的xy坐标(Get the mouse cursor x and y axis)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.    $().mousemove(function(e){ 
  3.      //display the x and y axis values inside the div with the id XY 
  4.     $('#XY').html("X Axis : " + e.pageX + " | Y Axis " + e.pageY); 
  5.   }); 
  6. // how to use 
  7. <div id="XY"></div> 
  8.  
  9. }); 
$(document).ready(function() {
   $().mousemove(function(e){
     //display the x and y axis values inside the div with the id XY
    $('#XY').html("X Axis : " + e.pageX + " | Y Axis " + e.pageY);
  });
// how to use
<div id="XY"></div>

});



12. 验证元素是否为空(Verify if an Element is empty)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.   if ($('#id').html()) { 
  3.    // do something 
  4.    } 
  5. }); 
$(document).ready(function() {
  if ($('#id').html()) {
   // do something
   }
});

13. 替换元素(Replace a element)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.    $('#id').replaceWith(' 
  3. <div>I have been replaced</div> 
  4.  
  5. '); 
  6. }); 
$(document).ready(function() {
   $('#id').replaceWith('
<div>I have been replaced</div>

');
});

14. 延迟加载(jQuery timer callback functions)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.    window.setTimeout(function() { 
  3.      // do something 
  4.    }, 1000); 
  5. }); 
$(document).ready(function() {
   window.setTimeout(function() {
     // do something
   }, 1000);
});

15. 移除单词(Remove a word)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.    var el = $('#id'); 
  3.    el.html(el.html().replace(/word/ig, "")); 
  4. }); 
$(document).ready(function() {
   var el = $('#id');
   el.html(el.html().replace(/word/ig, ""));
});

16. 验证元素是否存在(Verify that an element exists in jQuery)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.    if ($('#id').length) { 
  3.   // do something 
  4.   } 
  5. }); 
$(document).ready(function() {
   if ($('#id').length) {
  // do something
  }
});

17. 使整个DIV可点击(Make the entire DIV clickable)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.     $("div").click(function(){ 
  3.       //get the url from href attribute and launch the url 
  4.       window.location=$(this).find("a").attr("href"); return false
  5.     }); 
  6. // how to use 
  7. <div><a href="index.html">home</a></div> 
  8.  
  9. }); 
$(document).ready(function() {
	$("div").click(function(){
	  //get the url from href attribute and launch the url
	  window.location=$(this).find("a").attr("href"); return false;
	});
// how to use
<div><a href="index.html">home</a></div>

});

18. id和class切换(Switch between classes or id’s when resizing the window)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.    function checkWindowSize() { 
  3.     if ( $(window).width() > 1200 ) { 
  4.         $('body').addClass('large'); 
  5.     } 
  6.     else
  7.         $('body').removeClass('large'); 
  8.     } 
  9.    } 
  10. $(window).resize(checkWindowSize); 
  11. }); 
$(document).ready(function() {
   function checkWindowSize() {
	if ( $(window).width() > 1200 ) {
		$('body').addClass('large');
	}
	else {
		$('body').removeClass('large');
	}
   }
$(window).resize(checkWindowSize);
});


19. 克隆对象(Clone a object)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.    var cloned = $('#id').clone(); 
  3. // how to use 
  4. <div id="id"></div> 
  5.  
  6. }); 
$(document).ready(function() {
   var cloned = $('#id').clone();
// how to use
<div id="id"></div>

});


20. 使元素居中屏幕(Center an element on the screen)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.   jQuery.fn.center = function () { 
  3.       this.css("position","absolute"); 
  4.       this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px"); 
  5.       this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px"); 
  6.       return this
  7.   } 
  8.   $("#id").center(); 
  9. }); 
$(document).ready(function() {
  jQuery.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");
	  return this;
  }
  $("#id").center();
});


21. 自定义选择器(Write our own selector)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.    $.extend($.expr[':'], { 
  3.        moreThen1000px: function(a) { 
  4.            return $(a).width() > 1000; 
  5.       } 
  6.    }); 
  7.   $('.box:moreThen1000px').click(function() { 
  8.       // creating a simple js alert box 
  9.       alert('The element that you have clicked is over 1000 pixels wide'); 
  10.   }); 
  11. }); 
$(document).ready(function() {
   $.extend($.expr[':'], {
       moreThen1000px: function(a) {
           return $(a).width() > 1000;
      }
   });
  $('.box:moreThen1000px').click(function() {
      // creating a simple js alert box
      alert('The element that you have clicked is over 1000 pixels wide');
  });
});


22. 统计元素个数(Count a element)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.    $("p").size(); 
  3. }); 
$(document).ready(function() {
   $("p").size();
});


23. 自定义Bullets(Use Your Own Bullets)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.    $("ul").addClass("Replaced"); 
  3.    $("ul > li").prepend("‒ "); 
  4. // how to use 
  5. ul.Replaced { list-style : none; } 
  6. }); 
$(document).ready(function() {
   $("ul").addClass("Replaced");
   $("ul > li").prepend("‒ ");
 // how to use
 ul.Replaced { list-style : none; }
});


24. 引用google分发的jQuery(Let Google host jQuery for you)

[javascript] view plain copy print ?
  1. //Example 1 
  2. <script src="http://www.google.com/jsapi"></script> 
  3. <script type="text/javascript"
  4. google.load("jquery", "1.2.6"); 
  5. google.setOnLoadCallback(function() { 
  6.     // do something 
  7. }); 
  8. </script><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript"></script> 
  9.  
  10. // Example 2:(the best and fastest way) 
  11. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script> 
//Example 1
<script src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("jquery", "1.2.6");
google.setOnLoadCallback(function() {
    // do something
});
</script><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript"></script>

 // Example 2:(the best and fastest way)
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>


25. 禁用jQuery动画(Disable jQuery animations)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.     jQuery.fx.off = true
  3. }); 
$(document).ready(function() {
    jQuery.fx.off = true;
});


26. 防止不兼容冲突(No conflict-mode)

[javascript] view plain copy print ?
  1. $(document).ready(function() { 
  2.    var $jq = jQuery.noConflict(); 
  3.    $jq('#id').show(); 
  4. }); 
$(document).ready(function() {
   var $jq = jQuery.noConflict();
   $jq('#id').show();
});


jquery 速查表:





参考推荐:
jQuery
jQuery UI
14 days of jQuery
Learning jQuery
Cheatsheet jQuery 1.1.3
Improve your jQuery – 25 excellent tips
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值