一些遇到的问题的解决方法

原创 13476075014 随笔 js 292阅读 2017-11-28 13:19:24 举报

这里主要用来记录自己开发中遇到的一些问题和暂时的解决方法:

1.在ajax渲染的节点上如果写事件,是没有任何反应的,需要要么在ajax生成的时候就加上onclick事件,另外就是通过jQuery的on方法,把事件绑到其父级或更高的祖先级身上。


2.在绑定事件在行内的时候出现的this指向的问题:

例如:<input type="button" value="55" onclick="change()"/>
           <script>
                       function change( ){
                                   alert( this.value);     //这个时候原本是以为为弹出55,结果却报错了。
                                 }
         </script>

 原因:主要是自己这样的用的比较少了,都忘记了 在绑定到元素上面的点击事件,是都绑在最顶层元素的,
            所以这个时候的this已经不是input了。
 解决:function change(e){
            var ev = e || event ;
            var purpose = ev.target; //获取当前点击的元素;
            alert(purpose.value);
        }

3.在单纯的一个html页面中用script标签引用vue.js,在移动端的一个问题:

问题: 如果里面的写法用了es6的属性,函数简写的话,会出现渲染不了,出现异常的情况,例如 var p1=new Vue({ created(){...} }) ,这样简写的话,在电脑谷歌浏览器什么的是没有问题的,但是在手机自带的浏览器里面,就会对这种写法不识别,报错,导致页面异常。
解决:保险的写法是在没有用到webpack这种打包工具的情况下,还是写成都能识别的格式,例如:var p1=new Vue({ created:function(){...} }) ,这样就好了。


4.在使用本地服务器和axios,抓取QQ音乐的一段歌单数据的时候遇到的问题

问题: 在把数据拉下来后,是一个字符串类型的回调函数 “MusicJsonCallback ({。。。。。。})”。想了好久要怎么用里面的参数...

解决: 用js的eval()方法,并且在前面写一个同名的函数,把参数作为值,在函数里面进行需要的操作,具体代码如下:

5.谷歌浏览器的input自动填充cookie里面的值的时候,会出现屎黄色的背景颜色,去掉的方法:

input:-webkit-autofill {
-webkit-text-fill-color: #fff !important;
//用这种延时的办法去让其看起来没有什么影响
transition: background-color 10000s ease-in-out 0s;
}

6.在电脑或者手机写的页面,引入样式或者js的时候,防止缓存影响正常使用,可以在链接上加上版本号,

评论 ( 2 )
最新评论
13476075014 1F 2017-11-28 17:37:41 2F

嗯呢,是“事件

lzh2740128806 2017-11-28 13:42:12 1F

把时间绑到其父级或更高的祖先级身上。~~时间是错别字吧