2012-02-22 50 views
0

漂亮noobish問題,我可能在思考這個錯誤,但是......我可以將JS對象或引用傳遞給JS對象到HTML標記中的函數嗎?

有沒有辦法爲JavaScript對象(或對它的引用)傳遞到HTML標記內的JavaScript函數?

例如:

<script type="text/javascript"> 
    var myObject = new Object(); 
    $('body').append('<div onclick=testThis(' + myObject + ')></div>'); 

    function testThis(object) 
    { 
     console.log(object); 
    } 
</script> 

的標記最終看起來是這樣的,當我檢查它:

<div onclick="testThis([object Object])"> 

其他方面:

真正的用例是在搜索頁面我通過AJAX查詢SOLR並將結果作爲JS對象返回。當用戶點擊代表這些搜索結果之一的HTML標記時,我希望能夠將對象(或對其的引用)傳遞給單獨的JS函數進行處理。

我在想這個錯誤的方式嗎?

回答

1

不,您不能將對象的引用嵌入到標記中。

相反,你可能想設置點擊事件在Javascript/jQuery的聽:

var object = new Object(); 
$('<div/>').appendTo('body').click(function() { 
    testThis(object); 
}); 

function testThis(value) { 
    console.log(value); 
} 
+0

謝謝。我一直在想這是錯誤的方式,因爲我之前遇到過JQuery沒有註冊點擊事件監聽不在'$(document).ready()'上的元素的問題。 – eysikal 2012-02-22 17:36:29

相關問題