target事件属性
Posted vcr_玄子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了target事件属性相关的知识,希望对你有一定的参考价值。
获取下拉框值
1、此种方法无法在页面获取到下拉框值
<th field="CLTZDYMC" data-options="formatter: function(value,row,index){return row.CLTZDYMC}"
editor="{type:\'combobox\',
options:{
valueField:\'CLTZDYMC\',
textField:\'CLTZDYMC\',
url:\'common_getCltzdymcJson.action\',
panelHeight:\'350\',
onChange:function(newValue,oldVlue){
var testTmp = $(this).parents(\'.datagrid-row-editing\');
var parentDom = testTmp.parents(\'.datagrid-view\');
var childDom1 = parentDom.children(\'div.datagrid-view2\');
var childDom2 = childDom1.find(\'tr.datagrid-row-editing\');
var tmpCltzdymc = testTmp.children(\'td[field=CLTZDYMC]\');
var tmpFsclms = testTmp.children(\'td[field=FSCLMS]\');
$.ajax({
url:\'common_getFsclmsJson.action?newVal=\'+encodeURI(encodeURI(newValue)),
async:true,
method:\'post\',
success:function(r){
var jsonobj = eval(r);
(childDom2.children(\'td[field=FSCLMS]\').find(\'div.datagrid-cell\')).html(jsonobj[0].FSMS);
}
});
}
}
}"
width="250" align="center" rowspan="2">
刺漏台账对应名称
</th>
2、最后通过target事件获取到了此下拉框值
function editInfo(index){
editorRow=index;
var row = $(\'#dg\').datagrid(\'getSelected\');//先获取到当前选中行
var rindex = $(\'#dg\').datagrid(\'getRowIndex\', row);//根据当前行获取,当前行的下标
$(\'#dg\').datagrid(\'cancelEdit\', rindex);
$(\'#dg\').datagrid(\'selectRow\', index);
$(\'#dg\').datagrid(\'updateRow\', {
index: index,
row: {
CZ: ""
}
});
$(\'#dg\').datagrid(\'beginEdit\', index);
var ed = $(\'#dg\').datagrid(\'getEditor\', { index: index, field: \'FCLYS\' });
$(ed.target).bind(\'change\', function () {
var editor = $(\'#dg\').datagrid(\'getEditor\', {index:index,field:\'CLTZDYMC\'});
var editor2 = $(\'#dg\').datagrid(\'getEditor\', {index:index,field:\'FCLYS\'});
var cltzdymcVal = $(editor.target).combobox(\'getValue\');
var fclysVal = $(editor2.target).val();
if((cltzdymcVal!=null && ""!=cltzdymcVal) && (fclysVal!=null && ""!=fclysVal)){
$(editor2.target).val(fclysVal+"<a href=\'#\' title=\'请确认刺漏台账对应名称与腐蚀刺漏因素是否有误!\' class=\'easyui-tooltip\'><img border=\'0\' src=\'${pageContext.request.contextPath}/gxgl/images/warning.jpg\'/></a>");
}else{
$(editor2.target).val(fclysVal);
}
});
}
=======target=======================================================================================================
target 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口。
target需要通过形参event才能拿到对象,this则通过类名或者id就能拿到当前触发函数对象
event.target与this的区别:
event.target表示发生点击事件的元素;
this表示的注册点击事件的元素;
this是所有函数原生具有的。进入函数事,this已经直接有了目标对象。
而e.target通过e在寻找target,中转了一下。所以相比较而言,this的执行效率更高些。
<div><img src="……"></div>
<script>
$(\'div\').click(function(){
e.target表示事件触发元素这里会是img
this 始终指向绑定事件的元素也就是div
});
</script>
=======currentTarget================================================================================================
currentTarget 事件属性返回其监听器触发事件的节点,即当前处理该事件的元素、文档或窗口。
在捕获和起泡阶段,该属性是非常有用的,因为在这两个节点,它不同于 target 属性。
捕获、冒泡------->详解http://www.cnblogs.com/hh54188/archive/2012/04/09/2343357.html
以上是关于target事件属性的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript事件属性event.target和currentTarget 属性的区别。