如何使用onclick
检测javascript
事件仅限智能手机和平板电脑?
https://jsfiddle.net/d87zjbLp/3/
我使用此代码,但我只想在智能手机和平板电脑上调用功能myFunction()
(不在PC和笔记本电脑上)
我该怎么做?
<script>
function myFunction() {
alert("test");
}
</script>
答案 0 :(得分:1)
https://jsfiddle.net/0ozss4q4/1/
首先检查手机或平板电脑
function isMobileOrTablet() {
if (navigator.userAgent.match(/Android/i)
|| navigator.userAgent.match(/webOS/i)
|| navigator.userAgent.match(/iPhone/i)
|| navigator.userAgent.match(/iPad/i)
|| navigator.userAgent.match(/iPod/i)
|| navigator.userAgent.match(/BlackBerry/i)
|| navigator.userAgent.match(/Windows Phone/i)
) {
return true;
}else {
return false;
}
}
然后创建一个仅在移动设备或平板电脑上运行的主要功能
function onlyMobileAndTablet(callback) {
if(isMobileOrTablet()) {
return callback && callback()
}
}
然后只需将此功能调用到您想要的地方
onlyMobileAndTablet(function() {
console.log('only mobile or tablet');
});
或者你可以这样做。
function isMobileOrTablet(callback) {
if (navigator.userAgent.match(/Android/i)
|| navigator.userAgent.match(/webOS/i)
|| navigator.userAgent.match(/iPhone/i)
|| navigator.userAgent.match(/iPad/i)
|| navigator.userAgent.match(/iPod/i)
|| navigator.userAgent.match(/BlackBerry/i)
|| navigator.userAgent.match(/Windows Phone/i)
) {
return callback && callback(true);
}else {
return callback && callback(false);
}
}
然后调用该函数并检查返回值
isMobileOrTablet(function(res) {
if (res) {
// This is mobile/tablet
} else {
// this is not a mobile/tablet
}
});
答案 1 :(得分:0)
你应该只使用&#34; on touchstart&#34;属性。
也许你的遗嘱会有更好的事件,比如touchend,或者也许是touchenter;