如何在焦点和onblur上创建多个?

时间:2015-03-31 19:47:30

标签: javascript forms onblur onfocus

我想知道如何为多个输入字段创建多个onfocusonblur

我有类似的内容,但当名称字段为onfocus时,电子邮件字段也是onfocus。有办法解决这个问题吗?

$(document).ready(function(){
     focusBlur();
});


function focusBlur() {

    var formName = document.getElementById('name');
    var valueName = 'name';

    var formEmail = document.getElementById('email');
    var valueEmail = 'email';

    formName.onfocus = function() {
        if(formName.value == valueName) {
            formName.value = '';
        } 

        if(formEmail.value == valueEmail) {
            formEmail.value = '';
        }
    };


    formName.onblur = function() {
        if(formName.value == '') {
            formName.value = valueName;
        }

        if(formEmail.value == '') {
            formEmail.value = valueEmail;
        }
    };


}

1 个答案:

答案 0 :(得分:0)

如果你在哪里做像JQuery这样的事情你可以说像

function blur(){}
  var elems=Array.prototype.slice.call(document.getElementsByTagName('input'))
elems.forEach(function(element){

  if(document.addEventListener){
        element.addEventListener('blur',blur)
  }
  else if(element.onblur){
        element.onblur=blur;
  }
})
像这样的事情应该这样做。根据浏览器支持,您可以使用getElementsByClassName或querySelector,它将返回一个节点数组并通过它循环以附加事件