javascript - Electron :总是返回 ontouchstart = true

标签 javascript jquery html electron touchstart

我目前正在使用 Electron 开发 Web 应用程序。如果我在普通的 Chrome 浏览器中打开该应用程序,它会按预期工作:点击为点击,触摸为触摸。

但是如果我用 electron 打包它,它就不能正常工作——它总是返回 touchstart = true,即使我不在响应 View 的开发工具中或在可触摸的设备上——所以点击不会工作。

这是我的 javascript 文件的开头:

var selectEvents = (function () {
    if ('ontouchstart' in document === true) {
        return "touchstart";
    } else {
        return "click";
    }
})();

这是我的 electron 的 main.js

const {app, BrowserWindow} = require('electron');
const path = require('path');
const url = require('url');

// init win
let win;

function createWindow(){
    // create browser window
    win = new BrowserWindow({width:3840, height: 1080, icon:__dirname+'/images/icons/bosch_logo.jpg', kiosk: true});

    // load index.html
    win.loadURL(url.format({
        pathname: path.join(__dirname, 'index.html'),
        protocol: 'file:',
        slashes: true
    }));

    // open devtools
    win.webContents.openDevTools();

    win.on('closed', () => {
        win = null;
    });
}

// Run create window function
app.on('ready', createWindow);


// quit when all windows are closed
app.on('window-all-closed', () => {
    // check for mac osx
    if(process.platform !== 'darwin') {
        app.quit();
    }
})

在我的 HTML 中,我创建了一个 ID 为“next-button-1”的按钮 在交互之后,它通常会检查脚本是点击事件还是触摸事件。

$('#next-button-1').on(selectEvents, function () {
...
}

现在在谷歌上搜索了很长时间,但没有找到有效的解决方案。也许你可以帮助我

最佳答案

在第一个返回中添加了“点击 touchstart”。现在它也适用于 Electron。希望这是可靠的。

var selectEvents = (function () {
    if ('ontouchstart' in document === true) {
        return "click touchstart";
    } else {
        return "click";
    }
})();

关于javascript - Electron :总是返回 ontouchstart = true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53848047/

相关文章:

javascript - jQuery 选择器 + 变量目标匹配

javascript - 使用 JQuery 刷新数据

jquery $.ajaxSetup({ 缓存 : false }); doesnt seem to be working in IE8?

javascript - 同一页面上的多个 Jquery 脚本冲突

html - 在 HTML 中嵌入第三方图像的安全问题

javascript - 在 Rails 4 上处理 AJAX 的正确方法是什么?

php - 通过电子邮件发送 div 的内容或屏幕截图

javascript - SVG 图形不会出现在使用 javascript 和内部样式的第二个 float 相对 div 列中

javascript - 如果满足某些条件则取消排序

javascript - 在 Javascript 中更改没有 ID 的特定元素的 CSS