在键入文本区域时切换div

时间:2015-07-24 16:17:14

标签: javascript html

知道为什么这个功能不起作用?我在这里有一个jsfiddle http://jsfiddle.net/hoodleehoo/8wxwe9rd/

这是我的功能:

$("#answer").on('input',function(e){
          if(e.target.value === ''){
            // Textarea has no value
            document.getElementById('hotpages1').style.display = 'block';
            document.getElementById('hotpages2').style.display = 'none';
          } else {
            // Textarea has a value
            document.getElementById('hotpages1').style.display = 'none';
            document.getElementById('hotpages2').style.display = 'block';
          }
    });

目标是根据是否键入textarea来更改它的显示样式。如果文本被删除且文本区域再次为空,则应切换回原来的颜色。 / p>

更新:

好吧,我忘了将jquery放在jsfiddle中,我在发布之后就把它拿到了,但是这并没有解决我的页面上的问题。经过大量的反复试验后,结果表明该功能需要放在表格之后,而不是之前或之内。将功能移动到页面底部后,它可以很好地工作!

1 个答案:

答案 0 :(得分:3)

你忘了在小提琴中引用 jQuery

我将事件更改为keyupinput也可以。 input是一个较新的事件,请咨询compatibility table

$("#answer").on('keyup', function (e) {
    var hot1 = document.getElementById('hotpages1'),
    hot2 = document.getElementById('hotpages2');
    if (e.target.value === '') {
        hot1.style.display = 'block';
        hot2.style.display = 'none';
    } else {
        hot1.style.display = 'none';
        hot2.style.display = 'block';
    }
});

http://jsfiddle.net/8wxwe9rd/5/