
开发中,当执行一个事件时需要去知道触发这个事件的对象是谁?那么,如何获取,在这里我就对 eventsrcElement与eventtarget *** 作获取略作区分 。
eventsrcElement: 表示可以获取当前作用事件的对象。
eventtarget: 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口。
兼容性:
eventtarget: Ie9+ 火狐、谷歌;
eventsrcElement:ie 678;
srcElement 是 IE 下的属性
target 是 Firefox 下的属性
Chrome 浏览器同时有这两个属性
一、利用eventsrcElement 获取标签:
eventsrcElementtagName :因为它获取出来的都是以 大写 的形式,例如(“A”,“DIV”)所以需要转换 objtagNametoLowerCase()="a"
二、 利用eventsrcElement 获取子对象:
第一个子标签 :eventsrcElementfirstChild;
最后个一个是: eventsrcElementlastChild;
第几个孩子: eventsrcElementchildren[i];
所有孩子: eventsrcElementchildren;
所有孩子节点: eventsrcElementchildNodes;
三、利用eventsrcElement 获取父对象:
eventsrcElementparentElement; 可以理解成是在鼠标所在对象的上一个对象。
四、venttarget的 判断使用
js中事件是会泡的,eventtarget它永远是直接接受事件的目标DOM元素
一般是获取这个对象的id,兼容的写法如下:
var targetId = eventtarget eventtargetid : eventsrcElementid;
获取id后再拿到事件中去判断。
谢谢观读~
��
void QItemSelectionModel::currentChanged(const QModelIndex & current, const QModelIndex & previous) [signal]
This signal is emitted whenever the current item changes The previous model item index is replaced by the current index as the selection's current item
Note that this signal will not be emitted when the item model is reset
信号糟使用QTreeView->selectionModel(),而不是QTreeView
css中选择器有,你多看看,可以通过兄弟节点找到或则nextElement等获得,单词不太会,你找找就是下一个Element和兄弟节点。
甚至可以找到父节点的父节点的父节点(如果有)这种选择器在j-Query中也封装了,撸主不好意思,太久没用忘词了。DOM语言。
MFC里的treectrl可没有什么索引,因为节点的关系不一定是并列的兄弟关系,可能是父子关系或者说根与叶的关系。简单的序号是不能标志它们的。
节点的唯一标志用的节点句柄 HTREEITEM;
如果你真想给每个节点编个号,就用SetItemData()给每个节点绑定一个唯一的整数。
HTREEITEM item=CTreeCtrl::GetSelectedItem();
int num=GetItemData(item);
private void TVdepartment_ItemDrag(object sender, ItemDragEventArgs e)//左键拖动
{
if (eButton == MouseButtonsLeft)
{
DoDragDrop(eItem, DragDropEffectsMove);
}
}
private void TVdepartment_DragEnter(object sender, DragEventArgs e)
{
if (eDataGetDataPresent("SystemWindowsFormsTreeNode"))
{
eEffect = DragDropEffectsMove;
}
else
{
eEffect = DragDropEffectsNone;
}
}
private void TVdepartment_DragDrop(object sender, DragEventArgs e)//拖动
{ //获得拖放中的节点
TreeNode moveNode = (TreeNode)eDataGetData("SystemWindowsFormsTreeNode");
//根据鼠标坐标确定要移动到的目标节点
Point pt;
TreeNode targeNode;
pt = ((TreeView)(sender))PointToClient(new Point(eX, eY));
targeNode = thisTVdepartmentGetNodeAt(pt);
//如果目标节点无子节点则添加为同级节点,反之添加到下级节点的未端
TreeNode NewMoveNode = (TreeNode)moveNodeClone();
if (targeNodeNodesCount == 0)
{
targeNodeParentNodesInsert(targeNodeIndex, NewMoveNode);
}
else
{
targeNodeNodesInsert(targeNodeNodesCount, NewMoveNode);
}
//更新当前拖动的节点选择
TVdepartmentSelectedNode = NewMoveNode;
//展开目标节点,便于显示拖放效果
targeNodeExpand();
//移除拖放的节点
moveNodeRemove();
}
以上就是关于JS轻松获取对象之srcElement与target篇全部的内容,包括:JS轻松获取对象之srcElement与target篇、QTreeview在键盘选中节点时怎么获得信号并取得当前节点的内容、js 从当前节点获取下一个节点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)