2014年4月3日星期四

input绑定datapicker控件后input再绑定blur或者mouseout等问题 - front-Thinking

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
input绑定datapicker控件后input再绑定blur或者mouseout等问题 - front-Thinking  阅读原文»

input绑定datapicker控件后input再绑定blur或者mouseout等问题

  问题描述:今天在修改一个东西的时候需要给一个input输入域绑定blur事件,从而当它失去焦点后动态修改其中的内容。但是问题来了,当点击输入域datapicker控件出现,当离开输入域去选择时间时就触发了blur事件,而这个时候获取输入域内的内容时获取的是选择时间之前输入域的内容。这跟我们的想法相背离。比方说我们想校验选择的时间,可是每次都是校验的选择时间之前输入域的内容。

之前的错误做法:代码如下

  

$('input.date').live('blur',function(){//选择class为date的input输入域
if("" == $(this).val().trim()){
$(
this).val('balabalabala');
}
});

  这段代码很简单,目的是当输入域失去焦点时获取输入域的内容,并判断是否为空,如果为空则设置内容为balabalabala。(当然,你在这个时候校验或者正则匹配是一样的)而问题来了,除非你输入域失去焦点前内容为空,否则永远不会修改其内容为balabalabala。换句话说,取到的内容为选择时间之前的内容。这跟我们的初衷违背,我们希望的是取到选择时间之后的内容并当输入域失去焦点的时候进行操作或者校验等。

解决办法:

常规思路:从输入域input绑定事件(比方说blur)去思考。结果是总是出错,问题得不到解决。唯一可行的但是不科学或者说不合理的方法如下:

$('input.date').blur(function () {
setTimeout(
function () { /* 你的代码 */ }, 1000);
});

这段代码也很简单,选中控件,在失去焦点后不是马上去执行,而是设置一个延时,等待1秒或者几秒后再去执行。好了,问题解决。但是方法可行,却不可靠。你无法去左右用户点击事件后去点击其它部分之间的时间大小。

逆向思考:从datepicker这个插件方向去思考。该插件提供了几个方法,可以满足要求。

方法1:onSelect

$('input.date').datepicker({
onSelect:
function(dateText) {
/*代码 */
if("" == $(this).val()){
$(
this).val("balabalabala");
}
}
});

方法2:

$(".date-picker")
.datepicker(options)
.change(
function () {
if("" == $(this).val()){
$(
this).val("balabalabala");
}
});

  问题得到解决。


本文链接:input绑定datapicker控件后input再绑定blur或者mouseout等问题,转载请注明。

IntelliJ IDEA 将 Maven 构建的 Java 项目打包 - Xuesong  阅读原文»

前言

IntelliJ IDEA 编译生成 Jar 包的方式与 Eclipse 不同,如何将此 Maven 构建 Java 推荐引擎项目生成 Jar 包确实搜索了不少资料,有成功的有失败的,特将此验证成功的方法记录下来分享给遇到此类问题的朋友。

开发环境

OS: Windows 8.1

JRE: 1.7.0

开发工具: IntelliJ IDEA 13.1.1

Configuration and make project

1. 选中Java项目工程名称,在菜单中选择 File->project structure... (快捷键Ctrl+Alt+Shift+S)。

2. 在弹出的窗口中左侧选中"Artifacts",点击"+"选择jar,然后选择"from modules with dependencies"。

3. 在配置窗口中配置"Main Class"。

配置完成后点击OK进入下一步。

4. 在弹出的窗体中选中"Build On make "(make 项目的时候会自动输出jar)

5. 以上的步骤就完成了编译时生成Jar包的配置,然后在菜单中选择Build->make project

在项目输出目录下去Jar包,执行命令即可运行Jar文件。


本文链接:IntelliJ IDEA 将 Maven 构建的 Java 项目打包,转载请注明。

阅读更多内容

没有评论:

发表评论