2012-02-22 37 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

相关问题