jQuery Mobile Clickhandler适用于整数输入但不适用于字符串

时间:2012-05-30 00:07:29

标签: jquery-mobile event-handling click anchor

我试图通过引用锚标记内的处理函数来为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>

1 个答案:

答案 0 :(得分:0)

试试这个::

var testParam = "'hello world'";

$("#main").html('<a href="#" data-theme="a" onclick="test('+testParam +'); return false;" rel="external" data-role="button">click test</a>');