0

我需要一些帮助来理解 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);
}

谢谢,加西姆

4

2 回答 2

2

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

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

jsobject: $('#test').get(0);
于 2011-12-21T10:54:07.230 回答
1

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

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

jsobject: "awe_jsobject"
于 2011-12-21T10:57:17.410 回答