首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >事件Jquery中的dart

事件Jquery中的dart
EN

Stack Overflow用户
提问于 2014-08-29 14:18:40
回答 1查看 220关注 0票数 2

我试图在Jquery元素的侦听器函数中获取事件对象。我实际上正在用dart语言编程,并使用js包(dart:js),这里有一个例子:

Example.html:

代码语言:javascript
复制
<script async type="application/dart" src="Example.dart"></script>
<script async src="packages/browser/dart.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>

<div id="container">
  <canvas id="stage" width="500px" height="500px"></canvas>
</div>
<div id="menu">
  <button id="btnImport">Button Import</button>
  <div id="slider-1"></div>
</div>

Example.dart:

代码语言:javascript
复制
import 'dart:html';
import 'dart:js' as js;

void main() {
  js.JsObject slider_1 = js.context.callMethod("\$", ['#slider-1']);
  slider_1.callMethod('slider');
  slider_1.callMethod("on",["slidechange",_onSliderChange]);
}

void _onSliderChange(js.JsObject obj1,js.JsObject obj2) {

}

如何在_onSliderChange函数中检索滑行事件的事件对象?JsOjbect真的帮不了我..。Ty

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-29 16:16:30

如果我正确理解,您就无法检索事件本身,而只能检索jquery事件的js版本(不是本机dom事件),因此您需要了解根据http://api.jqueryui.com/slider/#event-change中的文档读取所需属性的情况。

代码语言:javascript
复制
void _onSliderChange(js.JsObject obj1, js.JsObject obj2) {
  print(obj1['target']); // <= get the div
  print(obj2['value']);  // <= get the value
}

当你移动滑块时,它应该显示如下

代码语言:javascript
复制
div (:1)
5 (:1)

正如您所说,有时很难处理/调试JsObject,因此我编写了一些帮助程序,将这些对象转换为省道集合(列表或地图),以便在这里进行调试( converter.dart )。

代码语言:javascript
复制
void _onSliderChange(js.JsObject obj1,js.JsObject obj2) {
  print(jsObjectKeys(obj1));
  print(jsObjectAsCollection(obj1));
}

它应该显示类似的东西

代码语言:javascript
复制
[originalEvent, type, isDefaultPrevented, timeStamp, jQuery110207535289276856929, target, toElement, screenY, screenX, pageY, pageX, offsetY, offsetX, fromElement, clientY, clientX, buttons, button, which, view, shiftKey, relatedTarget, metaKey, eventPhase, currentTarget, ctrlKey, cancelable, bubbles, altKey, delegateTarget, handleObj, data, isTrigger, namespace, namespace_re, result] (:1)
{originalEvent: {originalEvent: Instance of 'MouseEvent', type: mouseup, isDefaultPrevented: {}, timeStamp: 1409328507659, jQuery110207535289276856929: true, toElement: span, screenY: 624, screenX: 115, pageY: 545, pageX: 110, offsetY: 16, offsetX: 15, fromElement: null, clientY: 545, clientX: 110, buttons: null, button: 0, which: 1, view: <window>, target: span, shiftKey: false, relatedTarget: null, metaKey: false, eventPhase: 3, currentTarget: Instance of 'HtmlDocument', ctrlKey: false, cancelable: true, bubbles: true, altKey: false, delegateTarget: Instance of 'HtmlDocument', handleObj: {type: mouseup, origType: mouseup, data: null, handler: {guid: 23}, guid: 23, selector: null, needsContext: null, namespace: slider}, data: null}, type: slidechange, isDefaultPrevented: {}, timeStamp: 1409328507659, jQuery110207535289276856929: true, target: div, toElement: span, screenY: 624, screenX: 115, pageY: 545, pageX: 110, offsetY: 16, offsetX: 15, fromElement: null, clientY: 545, clientX: 110, buttons: null, button: 0, which: 1, view: <window>, shiftKey: false, relatedTarget: null, metaKey: false, eventPhase: 3, currentTarget: div, ctrlKey: false, cancelable: true, bubbles: true, altKey: false, delegateTarget: div, handleObj: {type: slidechange, origType: slidechange, data: null, handler: {guid: 17}, guid: 17, selector: null, needsContext: null, namespace: }, data: null, isTrigger: 3, namespace: , namespace_re: null, result: null} (:1)

在那里您可能可以从事件中找到您想要的属性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25570223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档