官术网_书友最值得收藏!

The event object

So far, we attached anonymous functions as event handlers. To make our event handlers more generic and useful, we can create named functions and assign them to the events. Consider the following lines:

function handlesClicks(event){
  //Handle click event
}
$("#bigButton").on('click', handlesClicks);

Here, we are passing a named function instead of an anonymous function to the on() method. Let's shift our focus now to the event parameter that we pass to the function. jQuery passes an event object with all the event callbacks. An event object contains very useful information about the event being triggered. In cases where we don't want the default behavior of the element to kick in, we can use the preventDefault() method of the event object. For example, we want to fire an AJAX request instead of a complete form submission or we want to prevent the default location to be opened when a URL anchor is clicked on. In these cases, you may also want to prevent the event from bubbling up the DOM. You can stop the event propagation by calling the stopPropagation() method of the event object. Consider this example:

$( "#loginform" ).on( "submit", function( event ) { 
  // Prevent the form's default submission.
  event.preventDefault();
  // Prevent event from bubbling up DOM tree, also stops any delegation
  event.stopPropagation();
});

Apart from the event object, you also get a reference to the DOM object on which the event was fired. This element can be referred by $(this). Consider the following example:

$( "a" ).click(function( event ) {
  var anchor = $( this );
  if ( anchor.attr( "href" ).match( "google" ) ) {
    event.preventDefault();
  }
});
主站蜘蛛池模板: 巨鹿县| 秦皇岛市| 杭锦后旗| 枣阳市| 广安市| 阳江市| 安溪县| 十堰市| 玛纳斯县| 红河县| 江口县| 盘锦市| 阿图什市| 禹城市| 塘沽区| 广安市| 容城县| 增城市| 勃利县| 于田县| 海伦市| 郴州市| 广西| 威宁| 漳平市| 施秉县| 营口市| 义乌市| 岑巩县| 永善县| 长宁县| 汉源县| 比如县| 交口县| 瑞安市| 深圳市| 嘉定区| 和林格尔县| 勃利县| 敖汉旗| 山西省|