jQuery$.live()不';无法在iPhone上处理表格行

jQuery$.live()不';无法在iPhone上处理表格行,jquery,iphone,html-table,rows,live,Jquery,Iphone,Html Table,Rows,Live,我正在使用jQuery的$.live()函数使表行可以单击。 在Chrome、Firefox甚至桌面Windows Safari上都能完美运行,但在iPhone上却不行。 $.bind()可以在任何地方使用,但出于显而易见的原因,我想使用另一个函数 有人知道它为什么不工作吗?我该如何修复它? 下面是示例代码 <!DOCTYPE html> <html lang="en"> <head> <title>test</title> <

我正在使用jQuery的
$.live()
函数使表行可以单击。
在Chrome、Firefox甚至桌面Windows Safari上都能完美运行,但在iPhone上却不行。
$.bind()
可以在任何地方使用,但出于显而易见的原因,我想使用另一个函数

有人知道它为什么不工作吗?我该如何修复它?
下面是示例代码

<!DOCTYPE html>
<html lang="en">
<head>
 <title>test</title>
 <meta charset="utf-8" />
 <meta name="viewport" content="user-scalable=no,width=device-width" />
 <meta name="apple-mobile-web-app-capable" content="yes" />
 <style type="text/css">table { width: 100%; border-collapse: collapse; } table tr {     background: #eee; } table td { padding: 10px; border-top: 1px solid #ccc; }</style>
 <script type="text/javascript" src="http://jquery.com/src/jquery-latest.pack.js">        </script>
 <script type="text/javascript">
$(document).ready(function() {
  /* $.bind() works */
  /*
  $('table').find('tr').bind('click', function() {
    alert($(this).text());
  });
  */
  /* $.live() doesn't */
  $('table').find('tr').live('click', function() {
    alert($(this).text());
  });
});
 </script>
</head>
<body>
 <table>
  <tbody>
   <tr><td>words are flying out \ </td><td>like endless rain into a paper cup</td></tr>
   <tr><td>they slither while they pass \ </td><td>they slip away across the             universe</td></tr>
  </tbody>
 </table>
</body>
</html>

测试
表格{宽度:100%;边框折叠:折叠;}表格tr{背景:#eee;}表格td{填充:10px;边框顶部:1px实心#ccc;}
$(文档).ready(函数(){
/*$.bind()有效*/
/*
$('table').find('tr').bind('click',function(){
警报($(this.text());
});
*/
/*$.live()没有*/
$('table').find('tr').live('click',function()){
警报($(this.text());
});
});
文字如无止境的雨飞入纸杯
它们滑过时滑过\它们滑过宇宙

此代码的一个问题是您使用的
.live
错误-应直接在选择器上调用它:

$('table tr').live( /* ... */)
从:

不完全支持DOM遍历方法来查找要发送到.live()的元素。相反,应该始终在选择器之后直接调用.live()方法

接下来,在jQuery 1.4.2上,最好使用:

$('table').delegate('tr', 'click', function(){/* ... */} );