上面的示例基于您的代码。当触发 taphold 事件时,输入元素的相应 id 将显示在警报框中。
这个想法是在创建的元素上附加 taphold 事件处理程序。
<!DOCTYPE html>
<html>
<head>
<title>Taphold Example</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
<script>
var i = 0;
$(document).on('click', '#add', function(e){
i++;
var labeledRadio = $(["<label><input name=\"opt1\" class=\"rd_btn\" checked type=\"radio\" id=myId_",i," value=myval_",i," id=myId_",i,">Label_",i,"</input></label>"].join("")).on('taphold', function() { alert($(this).parent().children("input[type=radio]").attr('id')); });
$('#lbtn').append(labeledRadio).trigger('create');
});
</script>
</head>
<body>
<!-- /page -->
<div data-role="page">
<!-- /header -->
<div data-role="header" data-theme="b">
<h1>Taphold test</h1>
</div>
<!-- /content -->
<div data-role="content">
<input type="button" id="add" value="Add Inputs"/>
<div id="lbtn"></div>
</div>
</div>
</body>
</html>
我希望这有帮助。