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

  • JavaScript:Moving to ES2015
  • Ved Antani Simon Timms Narayan Prusty
  • 273字
  • 2021-07-09 19:07:43

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();
  }
});
主站蜘蛛池模板: 富源县| 余干县| 黑山县| 右玉县| 临夏市| 高台县| 安溪县| 台东市| 南木林县| 武陟县| 公安县| 太保市| 淮滨县| 年辖:市辖区| 景德镇市| 云阳县| 甘德县| 宁河县| 上蔡县| 雅江县| 渭南市| 吴旗县| 隆化县| 思茅市| 四川省| 泌阳县| 钦州市| 南部县| 德钦县| 拉萨市| 云安县| 黎川县| 漠河县| 房产| 山丹县| 荥阳市| 沭阳县| 文水县| 潍坊市| 黎城县| 钟山县|