gpt4 book ai didi

jQuery $.live() 不适用于 iPhone 上的表格行

转载 作者:行者123 更新时间:2023-12-03 20:10:53 25 4
gpt4 key购买 nike

我正在使用 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>

最佳答案

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

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

来自specs :

DOM traversal methods are not fully supported for finding elements to send to .live(). Rather, the .live() method should always be called directly after a selector

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

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

关于jQuery $.live() 不适用于 iPhone 上的表格行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3072441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com