电子:始终返回ontouchstart = true

时间:2018-12-19 09:21:14

标签: javascript jquery html electron touchstart

我目前正在与Electron一起开发Web应用程序。如果我在正常的Chrome浏览器中打开该应用程序,则该应用程序将按预期运行:点击并点击,触摸即可。

但是,如果我将其与电子封装在一起,它将无法正常工作-即使我不在响应视图或可触摸设备上的开发工具中,它也始终会返回touchstart = true-因此单击不会工作。

这是我的javascript文件的开头:

$this->load->library('pagination');

$config['base_url'] = 'http://example.com/index.php/test/page/';
$config['total_rows'] = 200;
$config['per_page'] = 20;

$this->pagination->initialize($config);

echo $this->pagination->create_links();

这是我的电子main.js

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

在我的HTML中,我创建了一个ID为'next-button-1'的按钮 互动后,它将检查脚本是正常的单击还是触摸事件。

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();
    }
})

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

1 个答案:

答案 0 :(得分:0)

在第一个返回项中添加了“ click touchstart”。现在它也可以在Electron上使用。希望这是可靠的。

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