0

我想记录用户触摸并拨打我的网页上显示在 android/iOS 设备上的号码的所有事件?可能吗?

4

1 回答 1

0

至少有三种方法可以解决这个问题:

1.检查click()上的href

您可以收听click()链接上的事件并检测它们是否hreftel:

$( '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 回答