为什么 addEventListener 在 nodejs 的 jsdom 模块中不起作用

Why addEventListener doesn't work in jsdom module for nodejs

我使用下面的代码在点击页面上的元素后调用一些东西

var http = require('http');
var fs = require('fs');
var jsdom = require('jsdom');

http.createServer(function(req, res) {

    res.writeHead(200, {'Content-Type': 'text/html; charset=utf8'});
    var document = new jsdom.JSDOM('<!doctype html><html><head></head><body><p>Text</p></body></html>').window.document;
    document.getElementsByTagName('p')[0].addEventListener('click', function() {
        alert('OK');
    });     
    var page = '<!doctype html><html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>';
    res.end(page);

}).listen(80, 'localhost');

但是如果我点击该段落,什么也没有发生

我阅读了 link 的答案,但我不明白如何解决我的问题

您正在挂钩 服务器 上的 click 处理程序,但您正在单击 客户端 上的元素.

相反,您需要将脚本代码发送到连接浏览器呈现的 DOM 元素上的事件处理程序的客户端,以处理点击并显示警报(这也是客户端事物)。 (这意味着您不需要 JSDom;那是为了进行 DOM 操作——比如网络抓取——服务器端。)