出自Yahoo_cn_wiki
您在这:首页 > NCP文档中心 > NCP接口文档 > YNJS参考
YNJS参考
目录 |
命名空间
- YNJS.*
- YNJS.app
YNJS中禁用的Javascript关键字
- in
- with
- debugger
- delete
- void
全局对象/方法
对浏览器原生对象和方法的封装
| 完全支持的对象/方法 |
|---|
| Object,navigator,Math,Date,Array,String,Boolean,Number,RegExp,parseFloat,parseInt, encodeURIComponent,decodeURIComponent,escape,unescape,isFinite,isNaN |
| 部分支持的对象/方法名 | 描述 |
|---|---|
| document | 支持的方法有:getElementById, createElement |
| window | 支持的方法有:alert, confirm |
| 不支持的对象/方法名 |
|---|
| history,location,screen,Image,Function,Error,eval |
YNJS Document对象的方法
YNJS对原生的document对象作了限制。提供了下面的方法。在YNJS中通过getElementById返回的结点元素,不是原生的Dom结点而是YNJS Dom对象,通过YNJS Dom对象的提供的方法可以实现对页面结点的控制。
| Javascript | YNJS | 描述 |
|---|---|---|
| getElementById | getElementById | 返回YNJS Dom对象 |
| createElement | createElement | 创建一个YNJS Dom对象。目前支持创建的HTML标签有,"div", "span", "a", "ul", "ol", "li", "dir", "dl", "dt", "dd", "img", "table", "caption", "th", "tr", "td", "p", "tbody", "tfoot", "col", "colgroup", "strike", "h1", "h2", "h3", "h4", "h5", "h6", "br", "hr", "abbr", "blockquote", "q", "b", "i", "font", "em", "big", "strong", "small", "sup", "sub", "bdo", "u", "pre", "code", "tt", "kbd", "dfn", "var", "samp", "acronym", "address", "center", "cite", "ins", "del", "s", "menu", "map", "area" |
YNJS Dom元素的方法
| Javascript | YNJS | 描述 |
|---|---|---|
| document.body | getRootNode | 返回用户应用的根YNJS DOM元素 |
| element.parentNode | getParentNode | 返回当前YNJS DOM元素的父元素 |
| appendChild | appendChild | |
| childNodes | getChildNodes | |
| getElementsByTagName | getElementsByTagName | |
| n\a | getElementsByClassName | 按class名获取YNJS DOM元素 如,element.getElementsByClassName("classname","tagname") |
YNJS Dom元素的属性
YNJS中的DOM元素,是对原生DOM对象进行了安全的封装。下面它提供的属性和方法:
| Javascript | 属性取值 | 属性赋值 | 描述 |
|---|---|---|---|
| tagName | tagName | n\a | 属性,返回元素的标签名(小写) |
| innerText/textContent | getTextValue | setTextValue | |
| innerHTML | getHTML | n\a | |
| value | getValue | setValue | |
| href | getHref | setHref | |
| target | getTarget | setTarget | |
| src | getSrc | setSrc | |
| width | getWidth | setWidth | |
| height | getHeight | setHeight | |
| className | getClassName | setClassName | |
| id | getId | setId | |
| dir | setDir | getDir | |
| checked | getChecked | setChecked | |
| tabIndex | getTabIndex | setTabIndex | |
| title | getTitle | setTitle | |
| name | getName | setName | |
| cols | getCols | setCols | |
| rows | getRows | setRows | |
| disabled | getDisabled | setDisabled | |
| readOnly | getReadOnly | setReadOnly | |
| type | getType | setType |
YNJS Dom元素的事件处理
在YNJS Dom元素上添加事件的方法。
| 方法 | 描述 |
|---|---|
| on/addListener | element.on(sEventType, fnHandler, objScope) 参数 (String) sEventType: 事件类型,目前支持的事件类型有: "blur" , "change" , "click" , "dblclick" , "focus" , "keydown" , "keyup" , "mousedown" , "mousemove" , "mouseout" , "mouseover" , "mouseup" , "reset" , "resize" , "select" , "submit"; (Function) fnHandler: 回调方法; (Object) objScope: 指定回调方法的执行范围,当前为this。 |
YNJS Event对象
解决了原生Window Event的浏览器兼容性问题。
...
var handleClick = function(e){
var el = e.getTarget(); //e为YNJS Event对象。e.getTarget()将返回触发事件的YNJS DOM元素。
};
element.on("click", handleClick, this);
| 属性/方法 | 描述 |
|---|---|
| altKey | 属性,true表示按下<alt>键 |
| button | 属性,0表示按下鼠标左键,2表示按下鼠标右键 |
| ctrlKey | 属性,true表示按下<ctrl>键 |
| shiftKey | 属性,true表示按下<shift>键 |
| type | 属性,返回事件类型 |
| getCharCode() | 返回键盘事件中的[按键代码]。 |
| getPageX() | 当触发鼠标事件时,返回鼠标指针在页面上的X轴坐标。 |
| getPageY() | 当触发鼠标事件时,返回鼠标指针在页面上的Y轴坐标。 |
| getXY() | 当触发鼠标事件时,返回鼠标指针在页面上的坐标。 |
| getRelatedTarget() | 返回与触发事件元素关联的YNJS DOM元素。 |
| getTarget() | 返回触发事件的YNJS DOM元素。 |
| preventDefault() | 防止继续执行事件的默认动作。 |
| stopPropagation() | 用于停止事件进一步传播。 |
| stopEvent() | 等效为同时preventDefault和stopPropagation。 |
YNJS Data对象
AJAX调用接口,通过YNJS Data对象访问第三方服务。
| 属性/方法 | 描述 |
|---|---|
| responseType | JSON(默认)、Text |
| proxyType | 代理服务类型,ajax(默认)、flash |
| requestMethod | GET(默认)、POST |
| onDone | 请求成功后的回调方法,传递给回调方法的参数为AJAX调用返回的数据,类型为String、Array或JSON Object |
| onError | 请求失败后的回调方法 |
| send(sUrl[, sPostData]) | 执行异步HTTP请求 |
| abort() |
示例代码:
var dataRequest = new YNJS.Data();
dataRequest.responseType = "JSON";
dataRequest.onDone = function(res){
var num = res.ResultSet.totalResultsReturned;
var items = res.ResultSet.Result;
if(num > 0){
//处理查询结果
......
}else{
//处理无结果
......
}
};
dataRequest.send("http://search.yahooapis.com/ImageSearchService/V1/imageSearch?" +
"appid=YahooDemo&query=" + YNJS.encodeURIComponent(keyword) + "&output=json");
