博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Angular 1.x 下 兼容IE8 placeholder
阅读量:5167 次
发布时间:2019-06-13

本文共 4148 字,大约阅读时间需要 13 分钟。

//用法.directive('placeholder', function () {    return {        restrict: 'A',        require: '?^ngModel',        link: function (scope, element, attr) {            alert(110)            var scope = scope && scope.$new();            var validateClass = attr['validateClass'];            if ('placeholder' in document.createElement('input')) {                return;            }            var _class = element.attr('class');            var _id = element.attr('id');            var _style = element.attr('style');            var elName = element[0].tagName;            var tip;            var copyElement, classFlag;            element.attr('placeholder', '');            function load() {                if (elName === 'INPUT') {                    classFlag = 'copy' + Math.floor(Math.random() * 1000000);                    element.after("");                    copyElement = $("." + classFlag);                    scope.init();                } else if (elName === 'TEXTAREA') {                    classFlag = 'copy' + Math.floor(Math.random() * 1000000);                    element.after("");                    copyElement = $("." + classFlag);                    copyElement.val(tip);                    //指令兼容活动页面,此处select无法监听                    if (CommonFun.getUrlPara() === 'create') {                        if (scope.ngModel && (scope.ngModel.type === '单行文本' || scope.ngModel.type === '多行文本')) {                            element.hide();                            copyElement.hide();                        }                        $('select').change(function () {                            if ($(this).val() === 0 || $(this).val() === 1) {                                // element.hide();                                copyElement.hide();                            } else {                                copyElement.show();                                element.hide();                                copyElement.focus(function () {                                    copyElement.hide();                                    element.show();                                    element.trigger('focus');                                });                                element.blur(function () {                                    if (element.val() === "") {                                        copyElement.show();                                        element.hide();                                    }                                });                            }                        });                    } else {                        scope.init();                    }                }            }            //指令兼容活动页面            if (scope.ngModel && scope.ngModel.tip !== undefined && scope.ngModel.tip !== null && scope.ngModel.tip !== '' && CommonFun.getUrlPara() !== 'create') {                tip = scope.ngModel.tip;            } else if (scope.ngModel && scope.ngModel.tip === '') {                tip = '';            } else {                attr.$observe('placeholder', function (newV) {                    tip = newV;                    load();                });            }            scope.init = function () {                copyElement.show();                element.hide();                //监听input值状态                scope.$watch(function () { return element.val(); }, function (newV) {                    if (newV !== null && newV !== undefined && newV.trim() !== "") {                        copyElement.hide();                        element.show();                    } else {                        copyElement.show();                        element.hide();                    }                });                copyElement && copyElement.focus(function () {                    copyElement.hide();                    element.show();                    element.trigger('focus');                });                element.blur(function () {                    if (element.val() === "") {                        copyElement.show();                        element.hide();                    }                });            };        }    };})

转载于:https://www.cnblogs.com/shih/p/6973074.html

你可能感兴趣的文章
Ubuntu下关闭防火墙
查看>>
TCP/IP 邮件的原理
查看>>
原型设计工具
查看>>
windows下的C++ socket服务器(4)
查看>>
css3 2d转换3d转换以及动画的知识点汇总
查看>>
【Java】使用Eclipse进行远程调试,Linux下开启远程调试
查看>>
对Vue为什么不支持IE8的解释之一
查看>>
计算机改名导致数据库链接的诡异问题
查看>>
Java8内存模型—永久代(PermGen)和元空间(Metaspace)(转)
查看>>
ObjectiveC基础教程(第2版)
查看>>
centos 引导盘
查看>>
Notes of Daily Scrum Meeting(12.8)
查看>>
Apriori算法
查看>>
onlevelwasloaded的调用时机
查看>>
lr_start_transaction/lr_end_transaction事物组合
查看>>
CodeIgniter学习笔记(四)——CI超级对象中的load装载器
查看>>
.NET CLR基本术语
查看>>
ubuntu的home目录下,Desktop等目录消失不见
查看>>
建立,查询二叉树 hdu 5444
查看>>
[Spring框架]Spring 事务管理基础入门总结.
查看>>