占位符IE9 - 在IE9中未执行Javascript

时间:2015-10-13 13:18:13

标签: javascript internet-explorer-8 internet-explorer-9 placeholder

我目前正在Drupal开发一个网站,我使用Javascript替换IE8-9中的占位符属性。这是代码:

$('input[placeholder]').focus(function() {
  var input = $(this);
  if (input.val() == input.attr('placeholder')) {
    input.val('');
    input.removeClass('placeholder');
  }
}).blur(function() {
  var input = $(this);
  if (input.val() == '' || input.val() == input.attr('placeholder')) {
    input.addClass('placeholder');
    input.val(input.attr('placeholder'));
  }
}).blur();

但它似乎没有被执行。导航器不会进入该功能。当我通过控制台启动它时它工作正常。 有没有人知道如何解决它?

编辑:即使选择正确的选择器,它仍然无法正常工作 非常感谢

1 个答案:

答案 0 :(得分:1)

placeholder是某些html元素(输入)的属性,您必须添加与给定属性匹配的选择器:

$('*[placeholder]').focus(function() { //Or input[placeholder]
  var input = $(this);
  if (input.val() == input.attr('placeholder')) {
    input.val('');
    input.removeClass('placeholder');
  }
}).blur(function() {
  var input = $(this);
  if (input.val() == '' || input.val() == input.attr('placeholder')) {
    input.addClass('placeholder');
    input.val(input.attr('placeholder'));
  }
}).blur();