我想记录用户触摸并拨打我的网页上显示在 android/iOS 设备上的号码的所有事件?可能吗?
问问题
454 次
1 回答
0
至少有三种方法可以解决这个问题:
1.检查click()上的href
您可以收听click()
链接上的事件并检测它们是否href
以tel:
:
$( 'a' ).click( function () {
var href = $( this ).attr( 'href' );
var tel = /^tel:/i.test( href );
if ( tel ) {
alert( 'A telephone link was clicked: ' + href );
//if you don't want the default action (dial ) to happen, return false, otherwise don't return anything
}
});
JSFiddle 直播:http: //jsfiddle.net/c7CRG/2/
2.使用类标志
此外,如果您可以控制 HTML 并且可以在<a>
包含电话号码的所有链接中放置类名,则无需在上述算法中进行解析:
$( 'a.telephone' ).click( function () {
alert( 'A telephone link was clicked: ' + $( this ).attr( 'href' ) );
//if you don't want the default action (dial ) to happen, return false, otherwise don't return anything
});
3.使用高级JQuery语法
您不必使用正则表达式来解析 href 属性。JQuery 有一个有趣的语法:
$( 'a[href^="tel:"]' ).click( function () {
alert( 'A telephone link was clicked: ' + $( this ).attr('href' ) );
});
这是一个 JSFiddle:http: //jsfiddle.net/c7CRG/7/
于 2013-01-24T10:34:58.687 回答