Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:console.log它能打印JS事件的完整(非截断)输出吗?_Javascript_Console.log - Fatal编程技术网

JavaScript:console.log它能打印JS事件的完整(非截断)输出吗?

JavaScript:console.log它能打印JS事件的完整(非截断)输出吗?,javascript,console.log,Javascript,Console.log,当我执行console.log(e)时,我得到: PointerEvent{isTrusted:true,pointerId:1,width:1,…} 是否有办法打印完整输出并删除省略号(…)?注意:我想打印事件对象的所有属性 也许是多余的背景信息,但我这样做的动机是:我想在一个JS脚本中重新模拟事件,使所有事件自动化,我希望我创建的事件完全相同(我想在vanillaJS中这样做,因为我不能使用Selenium或其他类型的东西).只需单击省略号或行首的箭头,即可将其展开。如果只想显示自定义属性,

当我执行
console.log(e)
时,我得到:

PointerEvent{isTrusted:true,pointerId:1,width:1,…}

是否有办法打印完整输出并删除省略号(…)?注意:我想打印事件对象的所有属性


也许是多余的背景信息,但我这样做的动机是:我想在一个JS脚本中重新模拟事件,使所有事件自动化,我希望我创建的事件完全相同(我想在vanillaJS中这样做,因为我不能使用Selenium或其他类型的东西).

只需单击省略号或行首的箭头,即可将其展开。如果只想显示自定义属性,请尝试使用
console.log(JSON.stringify(e,null),)
我尝试了几种方法,它们都有各自的缺点和优点

我曾经

const newEvent = {};
for (var property in e) {
  newEvent[property] = e[property];
}
在其他情况下

const entries = [];
for (var property in e) {
  entries.push(property);
  entries.push(e[property]);
}
只需记录entries数组,就会产生70多个键/值对,数组中有133个项(不知道为什么这个数字是奇数)。可以用JSON将其打印到数组(或对象)中,但这是一次可怕的经历,因为在替换循环引用时,字符串化会变得丑陋(可以这样做,但格式不是我想要的)

最终,我用以下代码对其进行了黑客攻击:

const entries = [];
const entries2 = [];
let i = 0;
for (let property in e) {
  i++;
  if (i <= 40) {
    entries.push(property);
    entries.push(e[property]);
  }
  if (i > 40) {
    entries2.push(property);
    entries2.push(e[property]);
  }
}
console.log(i, entries, entries2);
const条目=[];
常数entries2=[];
设i=0;
for(将属性放在e中){
i++;
如果(i)40{
中心2.推送(属性);
entries2.push(e[属性]);
}
}
控制台日志(i、条目、条目2);

此代码的泛化将无限期地将数组分割为大约30个键/值对。

在事件行处放置一个断点,然后开始键入
e。
我正在记录大量mousemove事件,我希望拥有对象的所有数据。隐马尔可夫模型。。。我想我应该把它字符串化。你可以使用
console.dir
而不是
console.log
,如图所示:可能与我在提问之前尝试过的相同,
console.dir
在Chrome浏览器中不起作用,可能是其他浏览器。但我一次打印出了数百个mousemove。我不会点击100多次。@MelvinRoest在本例中使用
JSON.stringify
并只打印您需要的内容。我的问题有很多实用的解决方案,但我想:应该可以自动打印JS事件的所有值,不是吗?如果想要捕获事件的所有数据,这将非常方便。@MelvinRoest检查如何将事件转换为JSON(确保检查2019更新)。顺便说一句,如果您要打印所有属性,我认为调试此类事件将非常困难。我的建议是只打印您真正需要的东西。是的,我会的,但我想浏览器中会有一些设置可以更改?我的屏幕有一半是空的,因为它没有完全填满右边。