jquery如何处理js对象

时间:2011-12-21 10:49:51

标签: javascript jquery awesomium

我需要一些帮助来理解jquery的工作原理。我正在为我的游戏使用awesomium ui,我在应用程序中调用jquery对象的函数时遇到问题。这是我的问题。

假设我有这样的代码

<div id="test">
  <span>Hello World</span>
</div>

我正在触发一个事件

$('#test').trigger('click');

哪个

$('#test').on('click',function() { $(this).css('color','red'); }

这更像是一个javascript问题,所以我将介绍一下我正在使用的应用程序功能。 Awesomium,有一个功能

awe_webview_call_javascript_function

将参数作为javascript对象,对象内的函数名称和函数的参数。所以,我将参数传递为

jsobject: "$('#test')"
function: "trigger"
parameters: "click"

程序不起作用,我知道原因是JS对象。所以,我的问题是jquery如何将它们的元素实现为js对象?我该如何访问它?

编辑:我找到了问题的解决方案。我创建了一个全局函数触发器,其中jquery对象是参数:

function trigger(jobj, e, params) {
    $(jobj).trigger(e,params);
}

谢谢, 卡西姆

2 个答案:

答案 0 :(得分:2)

要从jQuery选择器访问底层的“真正的”DOM对象,您需要使用get function - 我不知道Awesomium,但它从您的代码中看起来就像您需要的那样。不要忘记jQuery选择器可以匹配多个项目,因此get()返回一个数组,而不是单个对象。

所以第一个参数是这样的: -

jsobject: $('#test').get(0);

答案 1 :(得分:1)

我不知道Awesomium但是jsobject可能应该是全局变量的名称,而不是表达式。您的代码应如下所示:

window.awe_jsobject = $('#test');

jsobject: "awe_jsobject"