当用户点击/触摸与tel:uri方案链接的电话号码时,如何捕获电话号码拨打事件

时间:2013-01-24 10:25:24

标签: javascript html touch

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

1 个答案:

答案 0 :(得分:0)

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

<强> 1。检查点击()

上的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 Live: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语法

您不必使用regexp来解析href属性。 JQuery有an interesting syntax

$( 'a[href^="tel:"]' ).click( function () {
    alert( 'A telephone link was clicked: ' + $( this ).attr('href' ) );
});

这是一个JSFiddle:http://jsfiddle.net/c7CRG/7/