如何让iPhone在onClick事件上执行javascript
How can I make a iPhone to execute a javascript on a onClick event?
我发现这段代码带有一个jQuery函数,可以删除onClick
事件,并将其替换为tap
,即使在iPhone中也是如此。我就是做不到。
我如何让iPhone执行onclick之外的JavaScript?我尝试改变,但也没有运气。
function rebindClicks(){
var userAgent = navigator.userAgent.toLowerCase();
var isIphone = (userAgent.indexOf('iphone') != -1) ? true : false;
if (isIphone) {
// For each event with an inline onclick
$('[onclick]').each(function() {
var onclick = $(this).attr('onclick');
$(this).removeAttr('onclick'); // Remove the onclick attribute
$(this).bind("click", preventClickEvent); // See to it that clicks never happen
$(this).bind('tap', onclick); // Point taps to the onclick
});
}
}
function preventClickEvent(event) {
event.preventDefault();
}
<select name="jumpMenu" class="tableBlackWhite" id="jumpMenu" style="width:275px" onchange="MM_jumpMenu('parent',this,0)" >
<option value="#"><font color="#FF0000" size="3">אנא בחר שיר להשמעה</font></option>
<option onclick="javascript:ajax('/Songs/01.php','SongsContentArea')" value="#"> » נייס באלמו</option>
<option onclick="javascript:ajax('/Songs/02.php','SongsContentArea')" value="#"> » מאתונו</option>
<option onclick="javascript:ajax('/Songs/03.php','SongsContentArea')" value="#"> » פיה אסי</option>
<option onclick="javascript:ajax('/Songs/04.php','SongsContentArea')" value="#"> » טליוסאמה</option>
</select>
看起来像这行:
$(this).bind('tap', onclick); // Point taps to the onclick
正在传递字符串而不是函数,因为字符串来自attr()
。你可以尝试在这里使用eval
,但它真的很难。像这样:
$(this).bind('tap', function() { eval(onclick); }); // Point taps to the onclick
相关文章:
- 如何在onclick事件执行代码时在ImageButton上设置加载gif
- 如果类有多个事件处理程序方法,如何防止多个事件执行
- 单击事件执行单击和悬停事件处理程序,即使单击事件处理程序取消绑定所有处理程序也是如此
- 对多个滚动事件执行一次操作并防止滚动
- jQuery全局/本地事件执行顺序
- 作为预生成事件执行PowerShell脚本失败
- 允许对目标事件执行默认操作,并阻止对父级执行默认操作
- 使用点击jquery事件执行css3转换
- 阻止.mouseout事件执行
- 无法通过键盘事件执行功能
- 循环中的Javascript onclick事件执行了1次以上
- 如何将多个事件处理程序添加到同一个html元素中,并根据事件执行不同的方法
- 在Angular 2中处理click和clickOutside事件执行优先级的最佳方式
- 在mustache模板中对点击事件执行函数
- Java脚本函数,直到save事件执行完成
- 每个事件执行多次代码:多次下载
- 当onclick事件执行异步代码时,我如何在新选项卡请求中打开
- 在所有控制器中对同一个事件执行同一个函数——AngularJS
- Jquery事件执行两次
- 对img load事件执行html注释