Hot For Coding
JavaScript从CSS读取样式

有些项目需要简单能配置一些样式。以前一直是把配置信息写在js文件中,这次改变主意把配置的信息写在css文件中,因为都是一些样式的配置,不仅方便而且还不用担心用户js语法写错引起程序报错的问题。

于是就有了一些基本的问题,如何读取这些样式?当然,最简单的引入客户配置的css样式即可。但在一些复杂的UI交互界面时这显得不够灵活,需要提前预知客户给了多少宽高然后才能去做更多的操作,打个比方要把一个用户设置好的div居中,但你不知道用户给div多少宽高,于是需要先读取宽高,然后才能把div居中。假设用户已经给出了样式:

.box {
  width: 80px;
  height: 80px;
}   

...

READ ALL

中文Chrome不能设置小于12px字体

Chrome_12px

中文版本的Chrome小于12px的字体样式无效,并最终以最小的12px显示。大家都知道中文字体跟英文字母在大小美观上还是有范围差距的,有些英文字体6px都毫无压力,然而大部分中文字体都是以12px为临界点,几乎大部分站点的中文字体都是12px,只要小于12px中文字体就开始模糊

FireFox中8px的效果,虽然也能辨认,但还是有点别扭。

Chrome开发人员为了不让它丑陋的展示,限制了中文字体小于12px的样式,但在早期的Chrome版本27及以下版本都可以通过以下样式声明的方式解决这个问题:

...

READ ALL

div的onkeydown&onkeyup在火狐和谷歌上不能工作

正常情况下,我们通常都是在input内捕获onkeydown或者onkeyup事件做一些常用的处理,比如限制输入某一类型的字符,或者限制输入长度等等。

如果要在div里捕获这些onkeydownonkeyup事件则是有浏览器兼容的,如果你直接在节点上绑定属性如

<div onkeydown="console.log('keydown');" style="width:200px; height:300px;"></div>

那么在IE下是可以工作的,而在FireFox、Chrome下则无法工作。当然,有解决方法,两种:

...

READ ALL

Eclipse启动Tomcat错误 A Java Exception has occurred

在Tomcat bin目录下执行startup.bat可以正常启动,但在Eclipse下安装了Tomcat插件并且配置Tomcat路径后启动且报错:A Java Exception has occurred

解决方法,在Eclipse中window -> Preferences -> tomcat -> JVM Settings,在右边的配置页中找到Classpath (Before generated classpath),点击jar/Zip在弹出的文件选择框中选择tomcat目录下的bin/tomcat-juli.jar文件,启动tomcat,错误解决!

...

READ ALL

jQuery EasyUI menu() TypeError _391 is undefined

正在使用jQuery EasyUI做一个右键菜单功能,结果报错:TypeError: _391 is undefined

源码:

$("body").append('<div id="a" class="easyui-menu" style="display:hidden;"><div>one</div><div>two</div></div>');
$("#a").menu("show",{left:100, top:100});

怎么看都没发现写的有什么问题,按照例子我又写了一个做测试

html代码

<div id="a" class="easyui-menu" style="display:hidden;">
  <div>one</div>
  <div>two</div>
</div>

...

READ ALL

addEventListener与removeEventListener实际应用

简单使用

addEventListener添加监听事件函数,有三个参数

  • 第一个参数:监听动作(必须)
  • 第二个参数:触发函数(必须)
  • 第三个参数:一个bool类型。当为false时为冒泡获取(由里向外),true为capture方式(由外向里)。(可选)

关于第三个参数为事件冒泡方式,不在本文说明范围之内!

removeEventListener移除解绑监听事件函数,有两个参数。

  • 第一个参数:监听动作(必须)
  • 第二个参数:绑定动作指定的函数体(必须)

实例1,直接在参数内传入一个匿名函数体:

element.addEventListener('click', function () {
  alert('Hello word!');
});

...

READ ALL

Python私有属性

在Python中可以通过在属性变量名前加上双下划线定义属性为私有属性,如例子

#! encoding=UTF-8
 
class A:
  def __init__(self):
        
    # 定义私有属性
    self.__name = "Nicholas Lee"
      
    # 普通属性定义
    self.age = 19
 
a = A()
 
# 正常输出
print a.age
 
# 提示找不到属性
print a.__name

执行输出:

19
Traceback (most recent call last):
  File "C:\Users\nicholas\Documents\Aptana Studio 3 Workspace\testa\a.py", line 19, in <module>
    print a.__name
AttributeError: A instance has no attribute '__name'

...

READ ALL