纯JavaScript而不是jQuery - ready,on,click和end选择器

时间:2017-08-01 08:24:16

标签: javascript jquery ecmascript-6

我有jQuery:

$(document).ready(function() {
   $(document).on('click', "[id$='someId']", function () {
      console.log($(this).val());
   })
})

如何用纯JavaScript编写它?

  

(文档)$。就绪(函数()

我应该使用" ready"在纯JavaScript?

  

$(文件)。在

我如何使用""?我必须添加动态元素,所以在jQuery中我必须使用" on"。

我想按照ES6写这个。

2 个答案:

答案 0 :(得分:7)

使用addEventListener代替on

document.addEventListener('DOMContentLoaded', function () {
  document.body.addEventListener('click', function (e) {
    if (e.target.matches("[id$='someId']")) {
      console.log(e.target.value);
    }
  });
});

事件委托使它变得更复杂,但它应该可以解决问题。

答案 1 :(得分:0)

$(文件)。就绪(函数()

// DOMContentLoaded
// @see https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded
document.addEventListener('DOMContentLoaded', function (event) {
  console.log('DOM fully loaded and parsed');
});

$(文件)。在

document.addEventListener("click", function(event) {
  var target = event.target;
  if (target.id === 'a') {
    // do something.
  } else if (target.id === 'b') {
    // do something.
  }
});