我正在尝试通过引用锚标记内的处理程序函数来为 jQuery mobile 中的锚标记设置单击处理程序(我需要以这种方式进行操作,原因很麻烦)。如下面的代码所示,当我将一个变量传递给处理函数时,它是一个整数,但当我传递一个字符串时它不起作用。谁能解释这是为什么?
<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 () {
//The Line Below works
$("#main").html('<a href="#" data-theme="a" onclick="test(' + '2' + '); return false" rel="external" data-role="button">click test</a>');
/*
//The Lines Below Do not work
//$("#main").html('<a href="#" data-theme="a" onclick="test('+'hello world'+'); return false" rel="external" data-role="button">click test</a>');
var test = 'hello world';
//$("#main").html('<a href="#" data-theme="a" onclick="test('+test+'); return false" rel="external" data-role="button">click test</a>');
*/
$("#main").trigger('create')
});
function test(e) {
alert(e);
}
</script>
<div data-role="page" class="type-interior">
<div id="main" data-role="content"></div>
</div>
</body>