javascript onclick组合两个事件在ios(iPhone、iPad)上不起作用
javascript onclick combining 2 events does not work on ios (iPhone, iPad)
我在onclick
中组合两个java脚本来做两件事:
1.停止音频播放器
2.加载具有视频的iframe
以下代码适用于所有浏览器,但不适用于iOS(iPhone、iPad)
<a class="aboutclick" href="#" onclick="stop2();document.getElementById('frame').innerHTML='<iframe src="paul-on-paul.html" width="100%" height="600" scrolling="no" frameborder="no"></iframe>'"><img src="assets/video-cold.jpg" alt="paul-gregory-video" width="161" height="81" border="0" /></a>
onclick
代码开头的stop2()
是关闭音乐播放器的原因。(它是Flash音频播放器,所以不适用于iOS)。点击图片在iPad和iPhone上没有任何作用。
如果我从onclick
代码中删除stop2();
,则iframe将加载到iOS设备上。
我需要能够使用stop2()
来扼杀音乐,但我也需要它在iOS设备上工作。
有什么建议吗?
工作示例:http://www.fixxed.com/test/pg(点击右下角的视频缩略图)
首先,我建议您将所有onclick代码移动到一个函数中,然后在单击时调用该函数,如下所示:
window.foo = function(e) {
stop2();
document.getElementById('frame').innerHTML='<iframe src="paul-on-paul.html" width="100%" height="600%" scrolling="no" frameborder="no"></iframe>'
}
...
<a class="aboutclick" href="#" onclick="foo">
<img src="assets/video-cold.jpg" alt="paul-gregory-video" width="161" height="81" border="0" />
</a>
这只会让东西读起来更好,更易于维护。然后我建议你考虑使用移动触摸事件而不是点击事件,你会得到这样的结果:
window.foo = function(e) {
stop2();
}
window.bar = function(e) {
document.getElementById('frame').innerHTML='<iframe src="paul-on-paul.html" width="100%" height="600%" scrolling="no" frameborder="no"></iframe>';
}
...
<a class="aboutclick" href="#" onclick="foo" ontouchstart='bar'>
<img src="assets/video-cold.jpg" alt="paul-gregory-video" width="161" height="81" border="0" />
</a>
iOS似乎被你的stop2()
呼叫窒息了。你可能想尝试检测浏览器是否是iOS设备(一种简单但不太好的方法可能是使用用户代理字符串),或者(更好)使用Modernizr检查浏览器是否支持该功能。然后,如果您检测到它是iOS浏览器,只需从stop2()
返回即可。
相关文章:
- iPhone iOS上的val()未返回textarea值
- iOS 应用程序(iPhone 和 iPad)中的阿拉伯字体
- 如何在ios应用程序中更改位置iPhone时制作旋转照片
- 通过USB连接的iPhone在升级到iOS 7后未出现在OS X Safari的“开发”菜单中
- 如何防止iPhone(包括iOS 7)在HTML或JS中进入睡眠状态
- 强制iOS iPhone youtube嵌入播放器退出全屏
- iPhone/iOS-[NSBundle mainBundle]pathForResources无法查看Javascri
- iOS iPad和iPhone用户代理在Phonegap应用程序中不起作用
- javascript onclick组合两个事件在ios(iPhone、iPad)上不起作用
- 在html查看器IOS iPhone中调用电话号码
- 如何在iphone上的safari ios 7的智能搜索字段中启用javascript
- JavaScript导航器用户代理返回"iPhone"安装iOS 10系统的iPad Pro
- JavaScript子菜单在iPhone iOS 5更新后不再工作
- 想要一个iPhone / iPad / iOS网页,是100%的宽度/高度
- YouTube API在iOS (iPhone/iPad)中不工作,但在桌面浏览器中工作良好
- 如何在基于titanium的iPhone应用程序和原生ios应用程序之间进行通信
- iPhone/iOS 6/Mobile Safari:有没有办法检测浏览器全屏"模式?Android兼容
- iPhone 4/4s (iOS 7.0.1)上的Safari浏览器在放大文本输入框时(且仅在放大时)崩溃
- iPhone(iOS)从网站上的链接下载MP4
- 在iOS上作为safari之外的应用程序的Facebook iphone版本