我在Windows上运行Chrome 67,并连接到运行NodeJS 8的Ubuntu PC。我在SSH隧道上安装了Ubuntu PC,因此可以将Chrome调试器连接到Node。
Chrome://inspect/#devices
正确发现远程目标
这使我可以单击inspect
链接以打开调试器。
调试器连接,控制台从正在运行的Node JS应用程序中打印调试数据,以确认一切正常。
在控制台消息中,我可以单击链接并使它们打开源文件
如果单击该Sources
选项卡,则希望看到显示文件层次结构的Sources
侧面板(ref),但似乎完全没有。
如果单击,Add folder to workspace
它将打开一个本地文件浏览器。
较新版本的Chrome是否已删除此功能?如果是这样,是否有一种新的方式来查看远程文件列表?
我正在尝试对包含自定义 HTML 的单元格数据实现列排序,所以我假设我需要实现一个自定义函数来覆盖正常的排序例程并将其指向原始值而不是 HTML 呈现的输出。
我无法从 ag-grid 文档中收集我如何执行此操作,我看到https://www.ag-grid.com/javascript-grid-sorting/描述了我的问题的解决方案,但解释和示例代码并没有帮助我解决这个问题。看起来我需要一个比较器,但是在他们关于 dateComparator 的示例中,尚不清楚如何将参数 (date1, date2) 输入到自定义函数中。
我在下面添加了一些示例代码来显示这个问题,包括一个比较器函数,当按下列标题对行进行排序时调用该函数。
var columnDefs = [{ field: 'rank' }, { headerName: 'custom', cellRenderer: customCellRenderer, comparator: customNumberComparator }];
var rowData = [{ 'rank': 1, 'customData': '3.64' }, { 'rank': 2, 'customData': '-1.56' }, { 'rank': 3, 'customData': '11.21' }, { 'rank': 4, 'customData': '0.36' }, { 'rank': 5, 'customData': '45.1' }, { 'rank': 6, 'customData': '-34.2' }];
function customCellRenderer () {}
customCellRenderer.prototype.init = function ( params ) …
Run Code Online (Sandbox Code Playgroud)我有一个用于用户输入的文本字段,但只允许有限的字符集。阻止键盘字符可以很好地使用,keydown
首先检查击键,然后event.preventDefault()
检查是否未通过。
WIN+Period
Windows 有一个表情符号菜单,可以通过单击或右键激活。该菜单允许用户单击表情符号图标并将它们插入到文本字段中。
该事件可以通过捕获Input
,并且角色会显示出来event.data
以供审查。但我无法解决的是如何阻止该操作event.preventDefault()
并不能阻止此操作。
这是我尝试过的代码类型的示例。
textbox.addEventListener( "input", event => {
if ( event.data === BAD ) {
event.preventDefault();
}
}, false);
Run Code Online (Sandbox Code Playgroud)
深入研究event
数据,我发现cancelable
is false
,而 for keydown
it 是true
。
input
除了更早地捕捉到这一点之外,是否还有其他事件?
我正在尝试创建一个自定义按钮,以显示在弹出窗口上,生成动态链接(URL).由于时间原因,我似乎无法通过.setHTML执行此操作,无法在运行时将按钮绑定到函数.所以我想我会尝试新的.setDOMContent网上没有关于这个功能如何工作的零信息.我想知道是否有人有一个例子,其中一个按钮被添加到弹出窗口,可以运行一个函数并发送数据.
这是我设置这个的非常糟糕的尝试.
此函数创建弹出窗口
function GameObjectPopup(myObject) {
var features = map.queryRenderedFeatures(myObject.point, {
layers: ['seed']
});
if (!features.length) {
return;
}
var feature = features[0];
// Populate the popup and set its coordinates
// based on the feature found.
var popup = new mapboxgl.Popup()
.setLngLat(feature.geometry.coordinates)
.setHTML(ClickedGameObject(feature))
.setDOMContent(ClickedGameObject2(feature))
.addTo(map);
};
Run Code Online (Sandbox Code Playgroud)
此函数通过.setHTML添加html
function ClickedGameObject(feature){
console.log("clicked on button");
var html = '';
html += "<div id='mapboxgl-popup'>";
html += "<h2>" + feature.properties.title + "</h2>";
html += "<p>" + feature.properties.description + "</p>";
html += "<button class='content' id='btn-collectobj' …
Run Code Online (Sandbox Code Playgroud)