• 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 = "琼台博客"
          
        # 普通属性定义
        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