Android/iOS デバイスに表示されている自分の Web ページに表示されている番号にユーザーがタッチしてダイヤルしたすべてのイベントをログに記録したいですか? 出来ますか?
質問する
454 次
1 に答える
0
この問題を解決するには、少なくとも 3 つの方法があります。
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 に答える