在更改事件上启用电话呼叫功能(jQuery)

3

我正在尝试在更改事件(HTML <select> 标签)上启用电话功能,以引用适当的 "tel:" 值。

我在安卓上进行了测试(版本为2.24.0,使用默认浏览器:但是我没有得到期望的效果。

以下是我的代码:

HTML

<select class="call-us-options">
    <option value="">Select a branch:</option>
    <option value="branch-a">Branch A</option>
    <option value="branch-b">Branch B</option>
    <option value="branch-c">Branch C</option>
</select>
<a class="phone branch-a" href="tel:(22) 2222-222" title="Branch A">Branch A</a>
<a class="phone branch-b" href="tel:(33) 3333-3333" title="Branch B">Branch B</a>
<a class="phone branch-c" href="tel:(44) 4444-4444" title="Branch C">Branch C</a>

jQuery

$('.call-us-options').on('change', function() {
    if($(this).val()) {
        alert($('.'+$(this).val()).html());
        $('.'+$(this).val()).trigger('click');
    }
});​

这是JSFiddle链接:http://jsfiddle.net/CZ3WF/1/
有没有有效的方式来实现这个?

你的 a 元素是否有与之关联的函数来注册点击事件? - Roko C. Buljan
2个回答

7

你是否尝试过在 <select>onChange 事件中使用 window.location = "tel:(44) 4444-4444"(无论对应的选项卡中的号码是什么)?

编辑:

click() 只会触发 JavaScript 事件处理程序,而不会实际转到该 URL。我不确定这是否有效,但可以尝试一下 window.location


@FredWuerges 谢谢您提供可工作的示例。很少有人通过提供可工作的示例来标记为已接受。 - Sumit Ramteke

1
$('.call-us-options').on('change', function() {

        window.location.href = $('.'+$(this).val()).attr('href');

});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接