• 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

  • 泰山山顶看日出

    taishan

    公司又组织出游了,这次是泰山!

    泰山,五岳之首!

    五岳:

    • 东岳泰山(1532米),位于山东泰安市。
    • 西岳华山(1997米),位于陕西华阴市。
    • 南岳衡山(1512米),位于湖南省长沙以南的衡山县。
    • 北岳恒山(2017米),位于山西浑源县。
    • 中岳嵩山(1440米),位于河南登封市。

    最近一次爬山是在04年或05年的时候爬的五指山(1867米),这次的任务还好。

    因为是为了到山顶看日出,所以我们决定深夜十点由泰安市出发,十多分钟就到泰山景点了。让我意想不到的事,三更半夜泰山售票处排满了准备半夜爬山的游客,原来我们不是唯一的半夜爬山者。

    ...

    READ ALL

  • MyEclipse:Java was started but returned exit code=-1

    最近Code时MyEclipse时不时会闪退然后弹出一个错误:

    java was started but returned exit code=-1

    如图

    full

    重启后原来没保存的代码都会丢失,一开始我认为这是程序偶然异常的结果,但几乎每天都有那么几次这种闪退现象,提示的错误也不是很详细。

    于是做一下排查,错误后面带的都是MyEclipse安装目录下的ini配置信息,于是把内存调高点,还是无济于事,最后找到一个解决方法,即把MyEclipse启动配置文件ini中找到Vm这一行。Vm指的是Java虚拟机,默认你安装MyEclipse时会自带一个Java虚拟机,Vm配置那一行换成你安装的java虚拟机,如果你没安装过Java环境可以马上安装一个,如我安装的是1.7,则这么写:

    ...

    READ ALL

  • sftp上传下载文件

    sftp是一个文件传送协议,它类似于ftp,语法也差不多,但它是加密安全的传输。下边就简单介绍一下如何远程连接主机,进行文件的上传和下载,以及一些相关操作。

    # 连接到192.168.1.20
    sftp root@192.168.1.20
    
    # 如果密码正确的话就会进入提示符等待操作
    sftp>
    
    # 下载远程/etc/nginx/nginx.conf 到本地 /root/nginx.conf
    sftp> get /etc/nginx/nginx.conf /root/nginx.conf
    
    # 上传本地文件 /root/nginx.conf 到远程 /etc/nginx/nginx.conf
    sftp> put /root/nginx.conf /etc/nginx/nginx.conf 
    
    # 也可以上传目录下所有文件
    sftp> put -r /root/ /etc/nginx/
    

    ...

    READ ALL