起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3416|回复: 10

[结贴] list下li中的div下的video元素对象怎么获取

[复制链接]

47

主题

152

帖子

428

积分

中级会员

Rank: 3Rank: 3

积分
428
QQ
发表于 2017-11-1 16:24:57 | 显示全部楼层 |阅读模式
我的video被一个div组件包着我这样获取的
  1. Model.prototype.col18Click = function(event){
  2.         debugger
  3.                 //获取当前行button的 dom节点
  4.                 var  videoSuperDom = $(event.currentTarget).find("a[test='"+event.bindingContext.$object.index()+"']");
  5. //                var videoDom = videoSuperDom.
  6.                 //根据dom节点获取组件对象
  7.                 var videoSuperObj =  this.comp(videoSuperDom[0])
复制代码

第一:拿到的videoSuperObj是空的,
第二:我拿到了div的dom后用js获取不到子节点,用jquery可以这么写吗
  1. var  videoSuperDom = $(event.currentTarget).find("a[test='"+event.bindingContext.$object.index()+"']");
  2. //                var videoDom = videoSuperDom.
  3.                 //根据dom节点获取组件对象
  4.                 var videoDom videoSuperDom.children("video");
  5.                 var videoSuperObj =  this.comp(videoSuperDom[0])
复制代码

47

主题

152

帖子

428

积分

中级会员

Rank: 3Rank: 3

积分
428
QQ
 楼主| 发表于 2017-11-1 16:26:36 | 显示全部楼层
因为video标签的导航栏隐藏了,我想写个单击事件拿到video元素对象调用play()方法播放
回复 支持 反对

使用道具 举报

发表于 2017-11-1 16:30:55 | 显示全部楼层
this.comp  是获取组件对象
组件是x5 上开发的组件! 它的特征是 有一个component 属性!

video 只是一个原始的html5 标签! 并不是组件! 你应该用jquery 或者 js原始方法去操作dom元素!

videoSuperDom[0] 应该就是这个dom元素吧!

请问你想实现什么能力??如果是动态指定 播放的URL,直接bind-attr-src绑定 URl 字段就可以了!
类似图片这样的
http://docs.wex5.com/wex5-ui-question-list-2086
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

发表于 2017-11-1 16:32:06 | 显示全部楼层
小二 发表于 2017-11-1 16:26
因为video标签的导航栏隐藏了,我想写个单击事件拿到video元素对象调用play()方法播放 ...

videoSuperDom[0]
这个应该就是对应的dom元素 直接调用它的方法试试!  debugger调试看下吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

47

主题

152

帖子

428

积分

中级会员

Rank: 3Rank: 3

积分
428
QQ
 楼主| 发表于 2017-11-1 16:35:41 | 显示全部楼层
liangyongfei 发表于 2017-11-1 16:30
this.comp  是获取组件对象
组件是x5 上开发的组件! 它的特征是 有一个component 属性!

我用this.comp()拿的是video父节点div的dom节点,div是x5的组件啊
回复 支持 反对

使用道具 举报

发表于 2017-11-1 16:37:33 | 显示全部楼层
小二 发表于 2017-11-1 16:35
我用this.comp()拿的是video父节点div的dom节点,div是x5的组件啊

div 只是一个HTML 标签!怎么会是组件呢??看它是不是一个组件!就是看它有没有component  属性
不如button组件
源码可以看到
component="$UI/system/components/justep/button/button"
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

47

主题

152

帖子

428

积分

中级会员

Rank: 3Rank: 3

积分
428
QQ
 楼主| 发表于 2017-11-1 16:38:36 | 显示全部楼层
liangyongfei 发表于 2017-11-1 16:30
this.comp  是获取组件对象
组件是x5 上开发的组件! 它的特征是 有一个component 属性!

我是把video的导航栏隐藏了,想通过单击父节点的div上的俺就控制播放暂停
回复 支持 反对

使用道具 举报

发表于 2017-11-1 16:42:01 | 显示全部楼层
小二 发表于 2017-11-1 16:38
我是把video的导航栏隐藏了,想通过单击父节点的div上的俺就控制播放暂停

原始对象就有暂停方法的!
http://www.w3school.com.cn/jsref/dom_obj_video.asp

通过jquery 的find方法直接获取 video 标签对象即可!  直接调用 pause() 方法就暂停了

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

47

主题

152

帖子

428

积分

中级会员

Rank: 3Rank: 3

积分
428
QQ
 楼主| 发表于 2017-11-1 16:50:41 | 显示全部楼层
liangyongfei 发表于 2017-11-1 16:42
原始对象就有暂停方法的!
http://www.w3school.com.cn/jsref/dom_obj_video.asp

明白,我是因为拿不到video标签的节点,所以通过他的父节点找到它然后调用他的方法的;具体的说是我在event中拿不到我video的currenTarget
回复 支持 反对

使用道具 举报

发表于 2017-11-1 17:12:10 | 显示全部楼层
小二 发表于 2017-11-1 16:50
明白,我是因为拿不到video标签的节点,所以通过他的父节点找到它然后调用他的方法的;具体的说是我在eve ...

event.currenTarget  获取的就是点击事件的源对象!!  dom操作,获取dom元素  属于 基础知识!请上网查资料学习下吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-1 10:46 , Processed in 0.062482 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表