我有一个问题,我的代码,我有一个隐藏的一个href链接,该链接的href值被添加,一旦点击检测到图像和链接是作为一个值传递的隐藏的href。所以,一旦它点击图像在Javascript中,我正在手动.click()
到隐藏的href标记,但它不在手机中工作。我的代码如下:
processGridClick : function(obj){
var objIndex = obj.getAttribute('data-item-number');
var docType = obj.getAttribute('data-doc-type');
if(obj.className.indexOf('single') > -1){
var documentURL = "";
var documentsJsonRoot = DocumentsMgr.documentationData.documents[objIndex];
if(docType == 'reportsList'){
documentURL = documentsJsonRoot.reportsList[0].url;
}else if(docType == 'attachmentList'){
documentURL = documentsJsonRoot.attachmentList[0].url;
}
dojo.attr('linkDocumentsSingle', "href", documentURL);
document.getElementById('linkDocumentsSingle').click();
}
}
视图是一个基于JSON对象生成的表,它可以有多行,href的值是基于用户点击的图像传递的。这在桌面上很好用,但在移动的中.click
不起作用,我甚至尝试用下面的代码手动添加touchstart事件到所有可点击的元素中,但仍然不起作用。
**(function(window){
// check for touch
if (Modernizr.touch) {
// run the forEach on each figure element
[].slice.call(document.querySelectorAll("figure")).forEach(function(el,i){
// check if the user moves a finger
var fingerMove = false;
el.addEventListener("touchmove",function(e){
e.stopPropagation();
fingerMove = true;
});
// always reset fingerMove to false on touch start
el.addEventListener("touchstart",function(e){
e.stopPropagation();
fingerMove = false;
});
// add hover class if figure touchend and fingerMove is false
el.addEventListener("touchend",function(e){
e.stopPropagation();
if (fingerMove == false) {
classie.toggle(el,"hover");
}
});
});
}
})(window);**
2条答案
按热度按时间w9apscun1#
这对移动的有用吗?试试模拟鼠标点击...?
2w2cym1i2#
试试用这个
在iPhone中,只有锚标签或按钮才有点击事件,所以对于image,div或span,你必须使用tap事件。
如果touchend在touchstart之后150ms内(当然,您可以调整)触发tap事件,如果tap事件是您所追求的,您可以尝试使用它来代替jQuery移动的。
注意:为此我已经检查了你已经包括引导js库