生活已是百般艰难,为何不努力一点。下面就给大家分享为 增加“在当前鼠标位置打开”的功能,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。
代码如下:
$("#dialog").dialog({
bgiframe: true,
autoOpen: false,
position: [PosX, PosY], //alert 出来为:" , "(不含双引号),或者报错,不知什么原因。
height: 300,
modal: true,
buttons: {
创建新账号: function() {
var bValid = true;
(\);
bValid = bValid && checkLength(name, "username", 3, 16);
bValid = bValid && checkLength(email, "email", 6, 80);
bValid = bValid && checkLength(password, "password", 5, 16);
bValid = bValid && checkRegexp(name, /^[a-z]([0-9a-z_])+$/i, "Username may consist of a-z, 0-9, underscores, begin with a letter.");
// From (by joern), contributed by Scott Gonzalez:
bValid = bValid && checkRegexp(email, /^((([a-z]|d|[!#$%&*+-/=?^_`{|}~]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])+(.([a-z]|d|[!#$%&*+-/=?^_`{|}~]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])+)*)|((x22)((((x20|x09)*(x0dx0a))?(x20|x09)+)?(([x01-x08x0bx0cx0e-x1fx7f]|x21|[x23-x5b]|[x5d-x7e]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])|(\([x01-x09x0bx0cx0d-x7f]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]))))*(((x20|x09)*(x0dx0a))?(x20|x09)+)?(x22)))@((([a-z]|d|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])|(([a-z]|d|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])([a-z]|d|-|.|_|~|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])*([a-z]|d|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]))).)+(([a-z]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])|(([a-z]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])([a-z]|d|-|.|_|~|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])*([a-z]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]))).?$/i, "eg.[email protected]");
bValid = bValid && checkRegexp(password, /^([0-9a-zA-Z])+$/, "Password field only allow : a-z 0-9");
if (bValid) {
$(#users tbody).append( r +
d + () + /td +
d + () + /td +
d + () + /td +
/tr);
$(this).dialog(close);
};
},
取消: function() {
$(this).dialog(close);
}
},
close: function() {
(\)(\);
}
});
后来参考"wind"的为 增加“自动记住关闭时的位置”的功能。,在他的建议下,完全照葫芦画瓢写了个的重载方法,实现在鼠标当前位置打开dialog
代码如下
代码如下:
///////////////////////////////////
//指定 打开时的位置
///////////////////////////////////
(function($) {
var originOpen = $.
$. = function() {
//var event= || ];
//var event = event || ;
var event = getEvent();
//alert(event) // ie 和 ff下,都显示 "[object]"
var PosX = 0;
var PosY = 0;
if ( || ) {
PosX = ;
PosY = ;
}
else {
PosX = + - ;
PosY = + - ;
};
= [PosX, PosY];
//alert();
(this, arguments);
};
function getEvent() { //同时兼容ie和ff的写法
if (document.all) return ;
func = ;
while (func != null) {
var arg0 = ];
if (arg0) {
if (( == Event || == MouseEvent)
|| (typeof (arg0) == "object" && && )) {
return arg0;
}
}
func = ;
}
return null;
}
})(jQuery);
再次感谢"wind"。感谢 jww测试。(已兼容ie7,8,firefox3.5,chrome4)