onclick()和.on('click',function())之间的区别?

时间:2017-10-04 07:32:10

标签: javascript jquery html css

$(document).ready(function(){
  // Add smooth scrolling
  $('.button').children().onclick(function(event) {

    // Make sure this.hash has a value before overriding default behavior
    if (this.hash !== "") {
      // Prevent default anchor click behavior
      event.preventDefault();

      // Store hash
      var hash = this.hash;

      // Using jQuery's animate() method to add smooth page scroll

      $('html, body').animate({
        scrollTop: $(hash).offset().top
      }, 1000, function(){
      // Add hash (#) to URL when done scrolling (default click behavior)
        window.location.hash = hash;

      });
    } // End if
  });
});




$(document).ready(function(){
  // Add smooth scrolling to all links
  $('.button').children().on('click', function(event) {

    // Make sure this.hash has a value before overriding default behavior
    if (this.hash !== "") {
      // Prevent default anchor click behavior
      event.preventDefault();

      // Store hash
      var hash = this.hash;

      // Using jQuery's animate() method to add smooth page scroll
      // The optional number (800) specifies the number of milliseconds it takes to scroll to the specified area
      $('html, body').animate({
        scrollTop: $(hash).offset().top
      }, 1000, function(){

        // Add hash (#) to URL when done scrolling (default click behavior)
        window.location.hash = hash;
      });
    } // End if
  });
});

当我使用onclick()函数时,单击按钮时没有滚动效果;它只跳转到没有任何滚动效果的文章。

但是当我使用on('click',function())时会产生滚动效果。

这两者有什么区别?

1 个答案:

答案 0 :(得分:1)

  • .onclick()是一个javascript函数
  • .click().on("click")是jQuery函数,jQuery为其函数添加了更多功能。