Web Design Blog
jQuery: Disable right click | jQuery: Disable right click |
|
|
|
|
Some of us might want to disable right click, or want to create our own context menu for the website, this is how we can detect right click: # $(document).bind("contextmenu",function(e){ # //you can enter your code here, e.g a menu list # # //cancel the default context menu # return false; # }); Preloading imagesWhen you’re using images in Javascript, a good thing is to preload it before you have to use it. This code will do the job: jQuery.preloadImages = function() { for(var i = 0; i").attr("src", arguments[i]); } }; // Usage $.preloadImages("image1.gif", "/path/to/image2.png", "some/image3.jpg"); Some awesome JQuery tips and tricks: More info are here 1. jQuery cheatsheetsFirst of all, it's good to have a cheatsheet as a reference. I found 3 of them online:
jQuery Cheatsheet from ColorCharge
jQuery Cheatsheet from Gscottolson WebBlog
jQuery Cheatsheet from From Far East WebBlog 2. jQuery $(document).ready shorthandThis is a great tip! Instead of doing this$(document).ready(function() { //write your code here }You can also do this, both are the same! $(function(){ //write your code here }); 3. Open in new windowTarget attribute is not valid in STRICT W3C standard. Thus, we need to use REL and a bit of jQuery code to dynamically create the attribute to avoid validation error. This is one of my favourite codes. It's so simple and does the job well.$('a[rel=external]').attr('target','_blank'); <a href="http://www.queness.com" rel="external">Queness in new window</a> 4. Make the entire LI clickableThis trick is very useful when you're using UL list to make a menu. What it does is, when you click on the LI area (outside of the link), it will search for the url in the anchor tag and execute the link:$("ul li").click(function(){ //get the url from href attribute and launch the url window.location=$(this).find("a").attr("href"); return false; }); <ul> <li><a href="home">home</a></li> <li><a href="home">about</a></li> <li><a href="home">contact</a></li> </ul> 5. Switch to different CSS style sheetsYou want to have different design for your website. You can use this to switch to different CSS Style Sheets:$("a.cssSwitcher").click(function() { //swicth the LINK REL attribute with the value in A REL attribute $('link[rel=stylesheet]').attr('href' , $(this).attr('rel')); }); <link rel="stylesheet" href="default.css" type="text/css"> ...... <a href="http://www.jiawebdesign.com/JavaScript/jQuery-Disable-right-click.html#" class="cssSwitcher" rel="default.css">Default Theme</a> <a href="http://www.jiawebdesign.com/JavaScript/jQuery-Disable-right-click.html#" class="cssSwitcher" rel="red.css">Red Theme</a> <a href="http://www.jiawebdesign.com/JavaScript/jQuery-Disable-right-click.html#" class="cssSwitcher" rel="blue.css">Blue Theme</a> 6. Disable right clickSome of us might want to disable right click, or want to create our own context menu for the website, this is how we can detect right click:$(document).bind("contextmenu",function(e){ //you can enter your code here, e.g a menu list //cancel the default context menu return false; }); 7. Get mouse cursor x and y axisThis script will display the x and y value - the coordinate of the mouse pointer.$().mousemove(function(e){ //display the x and y axis values inside the P element $('p').html("X Axis : " + e.pageX + " | Y Axis " + e.pageY); }); <p></p> 8. Prevent default behaviourAssuming we have a long page, and we have a link similar to below that is used for other purposes other than a hyperlink. If you clicked on it, it will bring you to the top of your page. The reason of this behavior is because of the # symbol. To solve this problem, we need to cancel the default behavior by doing this:$('#close').click(function(e){ e.preventDefault(); }); /* OR */ $('#close').click(function(){ return false; }); <a href="http://www.jiawebdesign.com/JavaScript/jQuery-Disable-right-click.html#" id="close"></a> 9. Back to top button/linkA handy back to top button/link using jQuery with scroll to plugin. I like the scroll to top effect, you can test it by pressing the button below this page. You'll know what I meant : ) Get jQuery scrollTo plugin$('#top').click(function() { $(document).scrollTo(0,500); } <script type="text/javascript" src="js/jquery.scrollTo-min.js"></script> ...... <a id="top" style="cursor:hand;cursor:pointer"> Back to top</a> 10. Columns of equal heightI think this script is quite useful. I haven't have a chance to use it yet. It's more on design. If you want columns have the same height, this function will answer your request. Inspired by CSSNewbie$(document).ready(function() { setHeight('.col'); }); //global variable, this will store the highest height value var maxHeight = 0; function setHeight(col) { //Get all the element with class = col col = $(col); //Loop all the col col.each(function() { //Store the highest value if($(this).height() > maxHeight) { maxHeight = $(this).height();; } }); //Set the height col.height(maxHeight); } <div class="col" style="border:1px solid">Column One<br/> With Two Line<br/> And the height is different<br/><br/> </div> <div class="col" style="border:1px solid">Column Two<br/><br/></div> 11. Write our own selectorThis is a more advance trick. I didnt know about this until I saw it from this website illuminatikarate.com.//extend the jQuery functionality $.extend($.expr[':'], { //name of your special selector moreThanAThousand : function (a){ //Matching element return parseInt($(a).html()) > 1000; } }); $(document).ready(function() { $('td:moreThanAThousand').css('background-color', '#ff0000'); }); <table> <table> <tbody> <tr><td>1400</td><td>700</td><td>400</td></tr> <tr><td>2500</td><td>600</td><td>100</td></tr> <tr><td>100</td><td>1100</td><td>900</td></tr> <tr><td>2600</td><td>1100</td><td>1200</td></tr> </tbody> </table> </table> 12. Font resizingThis is one of the famous facilities on a webpage - able to let user increase the font size. I modified the script from shopdev.co.uk. Now, you'll be able to put in ID, Classes or HTML elements that you want the font to be adjustable into an array.$(document).ready(function(){ //ID, class and tag element that font size is adjustable in this array //Put in html or body if you want the font of the entire page adjustable var section = new Array('span','.section2'); section = section.join(','); // Reset Font Size var originalFontSize = $(section).css('font-size'); $(".resetFont").click(function(){ $(section).css('font-size', originalFontSize); }); // Increase Font Size $(".increaseFont").click(function(){ var currentFontSize = $(section).css('font-size'); var currentFontSizeNum = parseFloat(currentFontSize, 10); var newFontSize = currentFontSizeNum*1.2; $(section).css('font-size', newFontSize); return false; }); // Decrease Font Size $(".decreaseFont").click(function(){ var currentFontSize = $(section).css('font-size'); var currentFontSizeNum = parseFloat(currentFontSize, 10); var newFontSize = currentFontSizeNum*0.8; $(section).css('font-size', newFontSize); return false; }); }); <a class="increaseFont">+</a> | <a class="decreaseFont">-</a> | <a class="resetFont">=</a> <span>Font size can be changed in this section</span> <div class="section1">This won't be affected</div> <div class="section2">This one is adjustable too!</div> |
| Next > |
|---|