Skip to content

Instantly share code, notes, and snippets.

@prmishra
Last active May 26, 2019 14:35
Show Gist options
  • Save prmishra/829618e818073c2a792318b56be4be27 to your computer and use it in GitHub Desktop.
Save prmishra/829618e818073c2a792318b56be4be27 to your computer and use it in GitHub Desktop.
const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const dom = new JSDOM(`<body></body>`, { runScripts: "dangerously" });
function createDom(total) {
for (var i = 0; i < total; i++) {
var btn = dom.window.document.createElement('button');
btn.appendChild(dom.window.document.createTextNode('Button ' + i));
btn.addEventListener('click', function(){ console.log(i); });
dom.window.document.body.appendChild(btn);
}
}
function testDom(which) {
var evt = dom.window.document.createEvent("HTMLEvents");
evt.initEvent("click", false, false);
dom.window.document.body.children[which].dispatchEvent(evt);
}
var args = process.argv.slice(2);
createDom(args[0])
testDom(args[1])
// node script.js 5 0
@sagar-more
Copy link

const jsdom = require("jsdom");
const { JSDOM } = jsdom;

const dom = new JSDOM(`<body></body>`, { runScripts: "dangerously" });

function createDom(total) {
    for (let i = 0; i < total; i++) {
        var btn = dom.window.document.createElement('button');
        btn.appendChild(dom.window.document.createTextNode('Button ' + i));
        btn.addEventListener('click', function(){ console.log(i); });
        dom.window.document.body.appendChild(btn);
    }
}

function testDom(which) {
    var evt = dom.window.document.createEvent("HTMLEvents");
    evt.initEvent("click", false, false);
    dom.window.document.body.children[which].dispatchEvent(evt);
}

var args = process.argv.slice(2);
createDom(args[0])
testDom(args[1])

// node script.js 5 0

@vaidyaprasanna
Copy link

const jsdom = require("jsdom");
const { JSDOM } = jsdom;

const dom = new JSDOM(<body></body>, { runScripts: "dangerously" });

function createDom(total) {
for (var i = 0; i < total; i++) {
var btn = dom.window.document.createElement('button');
btn.appendChild(dom.window.document.createTextNode('Button ' + i));
btn.addEventListener('click', function(){ console.log(i); });
dom.window.document.body.appendChild(btn);
}
}

function testDom(which) {
var evt = dom.window.document.createEvent("HTMLEvents");
evt.initEvent("click", true, false);
dom.window.document.body.children[which].dispatchEvent(evt);
}

var args = process.argv.slice(3);
createDom(args[0])
testDom(args[1])

@muhammad-amin-8102
Copy link

const jsdom = require("jsdom");
const { JSDOM } = jsdom;

const dom = new JSDOM(<body></body>, { runScripts: "dangerously" });

function createDom(total) {
for (let i = 0; i < total; i++) {
let btn = dom.window.document.createElement('button');
btn.appendChild(dom.window.document.createTextNode('Button ' + i));
btn.addEventListener('click', function(){ console.log(i); });
dom.window.document.body.appendChild(btn);
}
}

function testDom(which) {
var evt = dom.window.document.createEvent("HTMLEvents");
evt.initEvent("click", false, false);
dom.window.document.body.children[which].dispatchEvent(evt);
}

var args = process.argv.slice(2);
createDom(args[0])
testDom(args[1])

// node script.js 5 0

@gagsy
Copy link

gagsy commented Apr 22, 2019

const jsdom = require("jsdom");
const { JSDOM } = jsdom;

const dom = new JSDOM(<body></body>, { runScripts: "dangerously" });

function createDom(total) {
for (let i = 0; i < total; i++) {
var btn = dom.window.document.createElement('button');
btn.appendChild(dom.window.document.createTextNode('Button ' + i));
btn.addEventListener('click', function(){ console.log(i); });
dom.window.document.body.appendChild(btn);
}
}

function testDom(which) {
var evt = dom.window.document.createEvent("HTMLEvents");
evt.initEvent("click", false, false);
dom.window.document.body.children[which].dispatchEvent(evt);
}

var args = process.argv.slice(2);
createDom(args[0])
testDom(args[1])

@shreyag020
Copy link

const jsdom = require("jsdom");
const { JSDOM } = jsdom;

const dom = new JSDOM(<body></body>, { runScripts: "dangerously" });

function createDom(total) {
for (let i = 0; i < total; i++) {
var btn = dom.window.document.createElement('button');
btn.appendChild(dom.window.document.createTextNode('Button ' + i));
btn.addEventListener('click', function(){ console.log(i); });
dom.window.document.body.appendChild(btn);
}
}

function testDom(which) {
var evt = dom.window.document.createEvent("HTMLEvents");
evt.initEvent("click", false, false);
dom.window.document.body.children[which].dispatchEvent(evt);
}

var args = process.argv.slice(2);
createDom(args[0])
testDom(args[1])

// node script.js 5 0

@ashvini-maurya
Copy link

const jsdom = require("jsdom");
const { JSDOM } = jsdom;

const dom = new JSDOM(`<body></body>`, { runScripts: "dangerously" });

function createDom(total) {
  for (let i = 0; i < total; i++) {
    var btn = dom.window.document.createElement("button");
    btn.appendChild(dom.window.document.createTextNode("Button " + i));
    btn.addEventListener("click", function() {
      console.log(i);
    });
    dom.window.document.body.appendChild(btn);
  }
}

function testDom(which) {
  var evt = dom.window.document.createEvent("HTMLEvents");
  evt.initEvent("click", false, false);
  dom.window.document.body.children[which].dispatchEvent(evt);
}

var args = process.argv.slice(2);
createDom(args[0]);
testDom(args[1]);

@somaiya-u
Copy link

const jsdom = require("jsdom");
const { JSDOM } = jsdom;

const dom = new JSDOM(<body></body>, { runScripts: "dangerously" });

function createDom(total) {
for (let i = 0; i < total; i++) {
var btn = dom.window.document.createElement('button');
btn.appendChild(dom.window.document.createTextNode('Button ' + i));
btn.addEventListener('click', function(){ console.log(i); });
// OR
/(function(x){
btn.addEventListener('click', function(){ console.log(x); });
})(i);
/
dom.window.document.body.appendChild(btn);
}
}

function testDom(which) {
var evt = dom.window.document.createEvent("HTMLEvents");
evt.initEvent("click", false, false);
dom.window.document.body.children[which].dispatchEvent(evt);
}

var args = process.argv.slice(2);
createDom(args[0])
testDom(args[1])

@Piyush-85
Copy link

const jsdom = require("jsdom");
const { JSDOM } = jsdom;

const dom = new JSDOM(<body></body>, { runScripts: "dangerously" });

function createDom(total) {
for (let i = 0; i < total; i++) {
var btn = dom.window.document.createElement('button');
btn.appendChild(dom.window.document.createTextNode('Button ' + i));
btn.addEventListener('click', function(){ console.log(i); });
dom.window.document.body.appendChild(btn);
}
}

function testDom(which) {
var evt = dom.window.document.createEvent("HTMLEvents");
evt.initEvent("click", false, false);
dom.window.document.body.children[which].dispatchEvent(evt);
}

var args = process.argv.slice(2);
createDom(args[0])
testDom(args[1])

// node script.js 5 0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment