如何使这个 jquery 在 iOS 5.1 的 UIWebView 中工作?
Posted
技术标签:
【中文标题】如何使这个 jquery 在 iOS 5.1 的 UIWebView 中工作?【英文标题】:how to make this jquery work in the UIWebView for iOS 5.1? 【发布时间】:2012-05-01 01:25:29 【问题描述】:我有以下标记:
<div class="event-row-container">
<div data-id="1" class="ios-location-name">Location Name</div>
<div data-id="1" class="ios-location-detail" style="display: block;">
700 S Grand Ave<br>
Omaha<br>
</div>
</div>
以及下面的 jQuery:
$('.ios-location-name').click(function()
var event_id=$(this).data('id');
alert('you clicked event_id:' + event_id);
$('.ios-location-detail').toggle();
);
适用于所有浏览器,但不适用于 iOS5.1(模拟器或设备)上的嵌入式 UIWebView。这应该工作吗?有什么我想念的吗?
谢谢
编辑#1 那么有没有一种简单的方法可以让它发挥作用?
【问题讨论】:
我已经在包括 iPhone 模拟器在内的几个 IOS 浏览器中尝试过,它似乎可以工作!!!! 哪些模拟器?我已经在 iOS Simulator 应用程序和设备上尝试过,但都没有工作。这是第一次将 jQuery 放在 iOS 设备上,所以非常非常新。谢谢 iPhone 模拟器。即使我在我的 iPhone 和 iPad 上尝试过,它似乎也能正常工作。这是jsfiddle:jsfiddle.net/RHDqM 它在提醒您吗?我什么也得不到。我隐藏了 ios-location-detail 并且应该打开它。我有 5.1 的 3GS。 是的,它首先提醒我,然后切换 div。我的 iphone 是 4GS,我的模拟器版本是 4.1 (225),我有第一代 iPad。顺便说一句,我刚刚在我妻子的 3Gs iphone 上试过,它可以在 3Gs 和 4GS 下工作。 【参考方案1】:正如您已经阅读的那样,有几个问题可能是原因:
-
UIWebView 未原生注册
click
事件
脚本不需要(显然也不应该)在其 src/href 中包含完整路径位置。
所以对于第二个问题(找到here)尝试更改:
<script src="js/jquery-1.7.2.min.js"></script>
到
<script src="jquery-1.7.2.min.js"></script>
(显然文件名和路径需要调整,但底线是只引用没有完整基本路径的文件名)。
首先,您已经在How to implement touch events in uiwebview?处指出了解决方案
没用。您是否尝试过以下推荐的开源库之一:send a notification from javascript in UIWebView to ObjectiveC
具体来说,PhoneGap 对我来说看起来很时髦,但显然,无论哪个解决问题都是最好的。
但是为什么它在 Safari 移动端而不是 UIWebView 中起作用的总体问题是因为事件没有被映射/交叉引用。
最后一个想法,只是说您尝试过...尝试将您的代码更改为:
$('.ios-location-name').on("click", function()
以防万一它们被映射到后面的某个地方,但click
方法本身并未映射到触摸事件(即使可能是点击事件)。值得一试。但我会尝试前两个想法,看看生活是否容易。
【讨论】:
感谢有关第一部分的信息 - 这似乎很时髦(至少可以说)【参考方案2】:这是模拟器截图。它在这里工作。
【讨论】:
所以它适用于 safari 但不适用于 UIWebView。 :-( 知道为什么这不适用于 UIWebView 吗? 太神奇了,看起来这不起作用:***.com/questions/6260627/…以上是关于如何使这个 jquery 在 iOS 5.1 的 UIWebView 中工作?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用内部 html 和引导程序使这个简单的 jQuery 弹出模式在页面加载时显示
Socket IO Node Js 和 PHP,如何使其工作?
如何使 Rails 3.1 在 Debian 挤压上与 MySQL Server 5.1 一起工作?