我正在爲jQuery手機中的錨標籤設置點擊處理程序,並通過引用錨標記內的處理函數(我需要這樣做原因很麻煩)。如果我使用字符串或整數作爲函數參數,但是如果我嘗試輸入對象的實例(如下圖所示),則此方法工作正常。任何意見,我可能做錯了將不勝感激。jQuery Mobile Clickhander不適用於自定義對象的實例
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css"
/>
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.js"></script>
</head>
<body>
<script>
$(document).ready(function() {
function testObject() {
this.param1;
}
function maketestObject(param1) {
var result = new testObject();
result.param1 = param1;
return result;
}
var i = 0;
var html;
for (i = 0; i <= 5; i = i + 1) {
var testInstance = maketestObject("test param");
html += '<li><a href="#" data-theme="a" onclick="clickHandler(' + testInstance + '); return false;" rel="external" data-role="button">click test1</a></li>';
}
$("#testList").append(html);
$("#testList").listview("refresh");
});
function clickHandler(e) {
alert(e);
}
</script>
<div data-role="page" class="type-interior">
<div id="main" data-role="content">
<ul id="testList" data-role="listview"></ul>
</div>
</div>
</body>
我想這個工作最初是因爲這種通過臨時但如在點擊處理程序返回「的翻譯:」換句話說警報(E)的對象,但它失去了它的領域,換句話說警報(E。 param1)返回「未定義」。 –
@ user996035我編輯了我的答案..試試這個 –
再次感謝您的幫助,我非常感謝。你提出的建議確實可行,但我的目標是傳入一個可能有多個字段的對象,所有這些字段都可以在點擊處理程序中訪問。你的建議基本上只是通過一個字符串。 –