属性选择:
$.find("input[name='selColumns']")
$.find("input:not([id])")
大于:
$.find(".row:gt(0)")
jQueryUI:
fadeIn 和 fadeOut 淡入淡出
slideDown 和 slideUp 滑下和滑上
拖拽和放置:draggable 和 droppable
jQuery UI 右键菜单 contextMenu ,配和位置
this.$(".projectBtn").contextmenu(function(e){
me.$('#rightClick').fadeOut();
e.preventDefault();
e.stopPropagation();
var e_target = e.currentTarget;
var e_x = e.pageX-266;
var e_y = e.pageY-30;
me.$('#rightPasteClick').css({'left': e_x, 'top': e_y}).show();
return false;
});
功能
- 鼠标关标点位到input
eventParams: function(){
var me = this;
// input获得焦点时,添加一个标识用于删除操作
this.$("#addRowParam").find("input").focus(function(){
$("#addRowParam").find("input").removeClass("mark");
$(this).addClass("mark");
});
// 鼠标只能点击input选框,其他位置不起作用
this.$(".cursorPosition").unbind("click").bind("click",function(e){
if(!(e.target.tagName == "INPUT" || e.target.tagName == "BUTTON")){
me.eventCursor();
}
});
me.eventCursor();
},
eventCursor: function(){
var me = this;
var flag = me.$("#addRowParam").find("input").length;
var isFocus = me.$("#addRowParam").find("input").hasClass("mark");
// 鼠标是否在input
if(isFocus){
me.$("#addRowParam").find("input.mark").focus();
}else{
if(flag> 0){
var $row=me.$("#addRowParam").find(".row").last();
$row.find("div").first().children("input").focus();
}
}
},
input关标聚焦方法: focus()
点击其他区域:利用 $.unbind("click").bind("click",function({
if(!(e.target.tagName == "INPUT" || e.target.tagName == "BUTTON")){
me.eventCursor();
})
})
根据 e.target.tagName 判断点击区域是点击在哪个 DOM 元素上面
deferred对象就是jQuery的回调函数解决方案
http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html
afterRenderEvent:function(){
var me = this ;
me.getColumns(true).then(function(columns){
me.afterGetColumns(columns);
});
},
getColumns: function(async){
var result = [];
var containerview = workspaceview.containerView;
if(containerview){
var params = this.getRequest({
'staffId': loginInfo.staffId,
'operatorName': curOperatorName,
'xmlContent': xml
});
if(typeof(async) == 'undefined'){
async = false;//同步
}
var def = $.Deferred(); // 新建一个deferred对象
$.blockUI({
message: '正在加载算子元数据信息...'
});
this.findOperatorInputMetaDataByXML(params, null, error, async).then(function(res){
$.unblockUI();
if(res.resultCode != 'SUCCESS'){
def.resolve([]);
return;
}
var data = res.data || [];
for(var i=0; i<data.length; i++){
var name = data[i].name;
result.push(name);
}
//异步的情况下
if(async == true){
def.resolve(result);
return;
}
});
}
},