首页 > 解决方案 > 如何在移动设备上模拟 .click()

问题描述

我需要单击一个 div 来执行操作。我成功地做了桌面版,但是当我去移动时,点击操作不起作用。我尝试了在 Stack Overflow 和其他网站中找到的几种方法,但任何方法都有效......

我的桌面代码:

document.getElementById('BtMisDocumentos').click();

我的移动代码(3 次尝试);

$('BtMisDocumentos').trigger('vclick');
$('BtMisDocumentos').trigger('tap');
$('BtMisDocumentos').trigger('touchstart');

分区;

<div id="BtMisDocumentos" class="dx-button dx-button-normal dx-button-mode-text dx-widget dx-button-has-text" onclick="void(0)" role="button" aria-label="Mis Documentos" style="width: 140px;"><div class="dx-button-content"><span class="dx-button-text">Mis Documentos</span></div></div>

任何想法?也许不起作用,因为我使用的是用户代理,尽管是“真正的”手机?

标签: javascriptjqueryjquery-mobilejquery-events

解决方案


我认为您缺少一些东西:

//Use a . for a element class and # for a element id. Use it in the $('#...') part.
$('.BtMisDocumentos').trigger('vclick');
$('#BtMisDocumentos').trigger('tap');
$('.BtMisDocumentos').trigger('touchstart');

也可以用 .click() 试试这个。

jQuery 文档: https ://api.jquery.com/click/

编辑@TWISTY:

如果您只想复制和粘贴:

//With a HTML class attribute. Example: <div class="BtMisDocumentos"></div>
$('.BtMisDocumentos').trigger('vclick');
$('.BtMisDocumentos').trigger('tap');
$('.BtMisDocumentos').trigger('touchstart');
$('.BtMisDocumentos').click();

//With a HTML id attribute. Example: <div id="BtMisDocumentos"></div>
$('#BtMisDocumentos').trigger('vclick');
$('#BtMisDocumentos').trigger('tap');
$('#BtMisDocumentos').trigger('touchstart');
$('#BtMisDocumentos').click();

推荐阅读