Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不受支持的HTML5元素和属性的JavaScript变通方法_Javascript_Jquery_Html_Modernizr - Fatal编程技术网

不受支持的HTML5元素和属性的JavaScript变通方法

不受支持的HTML5元素和属性的JavaScript变通方法,javascript,jquery,html,modernizr,Javascript,Jquery,Html,Modernizr,我使用它来检测浏览器中不受支持的HTML5元素和属性。如果一个元素/属性不受支持,我想写一个快速解决方法 目前,我正在用输入元素处理“required”属性。我的想法是“检测”相关联的表单元素并钩住表单的jQuery事件但是怎么做呢? 下面是我如何使用输入元素修复“占位符”属性的示例代码: if(Modernizr.input.placeholder == false) { alert('input placeholder not exists, perform a workaround

我使用它来检测浏览器中不受支持的HTML5元素和属性。如果一个元素/属性不受支持,我想写一个快速解决方法

目前,我正在用输入元素处理“required”属性。我的想法是“检测”相关联的表单元素并钩住表单的jQuery事件但是怎么做呢?

下面是我如何使用输入元素修复“占位符”属性的示例代码:

if(Modernizr.input.placeholder == false) {
    alert('input placeholder not exists, perform a workaround...');
    $('[placeholder]').each(function() {
        var input = $(this);
        var placeholder = input.attr('placeholder');
        input.bind('focus', function() {
            if(this.value == placeholder) {
                this.value = '';
                $(this).removeClass('mzr-no-placeholder');
            }
        }).bind('blur', function() {
            if(this.value == '') {
                this.value = placeholder;
                $(this).addClass('mzr-no-placeholder');
            }
        });
        if(!this.value.length) {
            this.value = placeholder;
            $(this).addClass('mzr-no-placeholder');
        }
    });
}
else {
    alert('input placeholder exists.');
}
这是解决办法 多亏了格雷特

if(Modernizr.input.required == false) {
    alert('Tag input required not exists, perform a workaround...');
    $('form').submit(function() {
        var requirementsOK = true;
        $('[required]', this).each(function() {
            if(!this.value.length) {
                $(this).addClass('mzr-no-required');
                requirementsOK = false;
            }
            else {
                $(this).removeClass('mzr-no-required');
            }
        });
        return requirementsOK;
    });
}
else {
    alert('Tag input required exists.');
}

以下是关于如何开始的提示:

if (Modernizer.input.required === false) {
    $('form').submit(function() {
         $('[required]', this).each(function() {
              if (!$(this).val()) {
                  alert('derp!');
                  return false;
              }
         }
    }
}

以下是关于如何开始的提示:

if (Modernizer.input.required === false) {
    $('form').submit(function() {
         $('[required]', this).each(function() {
              if (!$(this).val()) {
                  alert('derp!');
                  return false;
              }
         }
    }
}

本末倒置。。。最好的解决方案总是那些我没有记住的。谢谢,@greut本末倒置。。。最好的解决方案总是那些我没有记住的。谢谢,@greut