Могу ли я передать объект JS или ссылку на объект JS в функцию в разметке HTML? - PullRequest
0 голосов
/ 22 февраля 2012

Довольно нудистский вопрос, и я, вероятно, думаю об этом неправильно, но ...

Есть ли способ передать объект javascript (или ссылку на него) в функцию javascript в HTMLразметка?

Например:

<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])"> 

Дополнительный контекст:

Реальным вариантом использования является страница поиска, на которой я запрашиваю SOLR через AJAX и получаю результат обратно в виде объектов JS.Когда пользователь нажимает на HTML-разметку, представляющую один из этих результатов поиска, я хочу иметь возможность передать объект (или ссылку на него) в отдельную функцию JS для обработки.

Думаю ли я об этом неправильно?

1 Ответ

1 голос
/ 22 февраля 2012

Нет, вы не можете встроить ссылку на объект в разметку.

Вместо этого вы, вероятно, хотели бы настроить прослушивание события щелчка в Javascript / jQuery:

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

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