Sunday, April 28, 2013

Disable right click with jquery

jQuery makes it easy to disable the right click with just few lines of codes. bind contextmenu to the document and return false. however, this will disable the right click on entire document.
$(function(){ //document.ready function
   $(document).on("contextmenu",function(e){
        alert('right click disabled');
        return false;
    });
});
to disable right click in certain elements, you can give it a class/id and use respective selector.
Example
right click disable right click
right click no right click
try it in fiddle

jquery attr() vs prop() (difference)

according to the docs

jQuery.attr()
Get the value of an attribute for the first element in the set of matched elements.

whereas,

 jQuery.prop()
Get the value of a property for the first element in the set of matched elements.

Before jQuery 1.6 , the attr() method sometimes took property values into account when retrieving some attributes, which caused in inconsistent behavior. And thus, the prop() method was introduced. As of jQuery 1.6. , the .prop() method provides a way to explicitly retrieve property values, while .attr() retrieves attributes.

What actually is Attributes?
Attributes carry additional information about an HTML element and come in name=”value” pairs. You can set an attribute for HTML element and define it while writing the source code.

simple example can be:
    
here, "type","value", "id" are attributes of the input elements.

What is Property?
Property is a representation of an attribute in the HTML DOM tree. once the browser parse your HTML code ,corresponding DOM node will be created which is an object thus having properties.
in above case ,once browser renders the input, other properties like align, alt, autofocus, baseURI, checked so on will be added ...

since, attr() gives you the value of element as it was defines in the html on page load. It is always recommended to use prop() to get values of elements which is modified via javascript/jquery , as it gives you the original value of an element's current state.

try it in fiddle

some other links to read more about attr() and prop().
Link 1
Link 2