出自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");
个人工具