2010珞珈山水招贴画

1

用作X展架的展示之用。顺便吐槽一下:X展架的比例真狭长。。

-- Return Null --

回车导致表单默认提交的解决方案

1

记录一个解决方案。

当form表单中只有一个type为text的input输入框时,输入框有焦点时回车会默认导致表单的提交,无论表单中是否有type为submit的input按钮。

这种情况会使预期的点击提交按钮时触发的校验事件被跳过。

解决方法是添加一个隐藏的input元素如下,取消默认提交的行为。

<input type=”text” style=”display:none” />

如果需要添加回车提交表单并触发校验事件,需要添加keydown的监听事件。

-- Return Null --

一个简单的新浪微博图片显示的greasemonkey脚本

1

前两天写了一个方便新浪微博图片显示的脚本。在新浪微博中,看大图需要点击小图才会显示大图,个人觉得比较繁琐,于是写了个脚本优化了一下。只需要将鼠标放在小图上,大图便会自然在页面上弹出,可以减少很多鼠标点击的操作。

如图:

加了个css3的box-shadow的效果,显得立体。

有油猴的同学可以到http://userscripts.org/scripts/show/83994安装试试,谢谢支持!

-- Return Null --

chrome下关于window.location.hash的bug

3

好吧,这次又是chrome。虽然这个浏览器很迅捷,但是总是有些奇怪的小bug,让人不爽。

废话不多说,直接看例子(请用chrome 5+以上版本打开链接):

猛击这里看bug重现。

代码主要使用了下面一句话,通过更改window.location.hash来使页面定位到相应的位置:

<a href=”javascript:void(0);” onclick=”window.location.hash=’bbb’;”>bbb</a>

重现bug的操作如下:点击某个链接(如bbb)跳转至锚点所在位置,然后回到最上面,再点击同一个链接(bbb),发现不会再次跳转,而此bug在其他浏览器下均未发现。

没有查到相关的资料,分析:chrome在地址栏已经存在相同的hash值时不会进行跳转锚点的动作。

我们可以通过强制页面锚点跳转来解决这个问题,解决方案是:在window.location.hash=’bbb’;后加上一句window.location=window.location;用于触发锚点跳转的动作。

猛击这里看解决方案。

-- Return Null --

[翻译]Answering Soshnikov’s quiz

0

原文:Answering Soshnikov’s quiz Nicholas C. Zakas,2010年2月23日
翻译完成:2010年7月23日
译者:afc163
说明:Nicholas C. Zakas在其博客上的一篇JS问答,题目很有挑战性,回答也十分精准到位,不愧是大师。

JavaScript小问答最近很流行。最新的版本是Dmitry A. Soshnikov的一个昵称为the quiz的JS问答。我必须要承认,这个quiz拥有一些我所见过的最离奇古怪的JavaScript例题。我所喜欢的是在他的quiz里每一句代码都或多或少地和一个简单的JavaScript概念相关,这就是我为什么要花另一周的时间来解答这另一个问答。

阅读全文»

-- Return Null --

关于chrome不支持window.parent的问题

0

问题的来源请参看能适应iframe的jquery-lightbox插件,菜鸟童鞋的回复。

归纳起来就是,在chrome5+下,iframe中的子页面无法通过window.praent访问到父页面的信息。

我在本地测试了一下,发现的确如此。但是奇怪的是,我在上面那篇文章上的demo,在chrome下测试是没有问题的!

google后,查到下面这个帖子:

How to call parent window function in chrome browser?

It seems that Chrome browser doesn’t permit to reference a parent window accessing pages with the file: protocol.

也就是说,在chrome 5+中,window.parent无法在file://协议中运行,即所有关于window.praent的本地demo都将失效。不知道这算是chrome的特性还是一个bug。

查看以下demo,在chrome 5.0.375.99中本地测试失效,但是在服务器上测试有效。

http://www.ilovespringna.com/test/关于chrome不支持window.parent的问题/Demo父页面.html

-- Return Null --

IE8下select多选控件disabled的一个bug

0

今天碰到一个IE8下的关于select多选控件的一个bug,还原如下:

在IE8下,select控件指定为multiple(多选时),当此select设定为disabled时,则此控件中选中的项失去了蓝色的背景,从而无法辨识。此bug只发现在IE8下存在。

示例(请用IE8打开):http://www.ilovespringna.com/test/IE8下select控件disabled后选中项不可见的bug.html

此bug的解决方案可见IE8 bug when multiple select list box is disabled

解决方案,在此页面的style标签或相关css文件中添加如下语句,强制更改选中项的背景颜色:

select[disabled="disabled"] option[selected="selected"] {background-color:#96B5DA;}

查看解决方案demo示例:http://www.ilovespringna.com/test/IE8下select控件disabled后选中项不可见的bug解决方案.html

-- Return Null --

clearfix清除浮动

3

用于清除容器内浮动的css样式,没啥技术含量,也非原创,就是写下来备查。

.clearfix:after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}
.clearfix { *zoom: 1; } /* IE6/7 */

-- Return Null --