js 回调函数能实现时间监听吗

JavaScript013

js 回调函数能实现时间监听吗,第1张

异步处理不用阻塞来等待处理完成,而是允许后续操作,直至其程序将处理完成,并回调通知此函数

那么在js中有如下几种异步方式:

示例1

var async=function(callback){

//read data

setTimeout(function(){

callback('data')

},1000)//1秒后回调

}

//使用

async(function(data){

alert(data)

})

示例2

var async=function(callback){

var xhr=new XMLHttpRequest()

xhr.open('get','.',true)

xhr.onreadystatechange=function(){

callback(xhr.readyStatus)

}

xhr.send()

}

async(function(data){

alert(data)

})

示例3

var async=function(callback){

var img=new Image()

img.onload=img.onerror=function(){

callback(img)

}

img.src='x.jpg'

}

async(function(data){

alert(data)

})

监听方法在js中的实现如下:function addEventListener(string eventFlag, function eventFunc, [bool useCapture=false])eventFlag : 事件名称,如click、mouseover…eventFunc: 绑定到事件中执行的动作useCapture: 指定是否绑定在捕获阶段,true为是,false为否,默认为true在事件监听流中可以使用event.stopPropagation()来阻止事件继续往下流IE中使用自有的attachEvent函数绑定时间,函数定义如下:function attachEvent(string eventFlag, function eventFunc)eventFlag: 事件名称,但要加上on,如onclick、onmouseover…eventFunc: 绑定到事件中执行的动作在事件监听流中可以使用window.event.cacenlBubble=false来阻止事件继续往下流总结:addEventListener(string eventFlag, function eventFunc, [bool useCapture=false]),针对ff,chrome,safari浏览器,false指冒泡阶段,默认为true,指捕获阶段。不过一般我们都用false。 attachEvent(string eventFlag, function eventFunc),针对ie系列、还有opera浏览器,少了事件处理机制的参数,只指定事件类型(别忘了on)和触发哪个函数。

jwplayer('flvPlayDiv').onTime(function(){

      time=jwplayer('flvPlayDiv').getPosition()

     // console.log(time)

     })