Javascript 当用户向文本区域输入文本时显示/隐藏div?
我试图切换一个div,以便在用户将文本输入textarea时显示和隐藏它。 我正在使用下面的代码,它不适合我,有人能告诉我为什么吗?谢谢 html: 显然,我上面的代码在IE 9中不起作用,但我应该能够通过使用这段代码来实现我的目标,但是有人能告诉我在哪里放置我的div ID/我如何调整它来为我工作吗Javascript 当用户向文本区域输入文本时显示/隐藏div?,javascript,Javascript,我试图切换一个div,以便在用户将文本输入textarea时显示和隐藏它。 我正在使用下面的代码,它不适合我,有人能告诉我为什么吗?谢谢 html: 显然,我上面的代码在IE 9中不起作用,但我应该能够通过使用这段代码来实现我的目标,但是有人能告诉我在哪里放置我的div ID/我如何调整它来为我工作吗 var activeElement = null; var activeElementValue = null; // On focus, start watching the element
var activeElement = null;
var activeElementValue = null;
// On focus, start watching the element
document.addEventListener("focusin", function(e) {
var target = e.srcElement;
if (target.nodeName !== "INPUT") return;
// Store a reference to the focused element and its current value
activeElement = target;
activeElementValue = target.value;
// Listen to the propertychange event
activeElement.attachEvent("onpropertychange", handlePropertyChange);
// Override .value to track changes from JavaScript
var valueProp = Object.getOwnPropertyDescriptor(
HTMLInputElement.prototype, 'value');
Object.defineProperty(activeElement, {
get: function() { return valueProp.get.call(this); },
set: function(val) {
activeElementValue = val;
valueProp.set.call(this, val);
}
});
});
// And on blur, stop watching
document.addEventListener("focusout", function(e) {
if (!activeElement) return;
// Stop listening to propertychange and restore the original .value prop
activeElement.detachEvent("onpropertychange", handlePropertyChange);
delete activeElement.value;
activeElement = null;
activeElementValue = null;
});
function handlePropertyChange(e) {
if (e.propertyName === "value" &&
activeElementValue !== activeElement.value) {
activeElementValue = activeElement.value;
// Fire textchange event on activeElement
}
};
请尝试以下脚本:
$(document).ready(function() {
$("#cname").keyup(function() {
if ($("#cname").val().length > 8) {
$('#cname2').toggle("slow");
}
});
});
请尝试以下脚本:
$(document).ready(function() {
$("#cname").keyup(function() {
if ($("#cname").val().length > 8) {
$('#cname2').toggle("slow");
}
});
});
请尝试以下脚本:
$(document).ready(function() {
$("#cname").keyup(function() {
if ($("#cname").val().length > 8) {
$('#cname2').toggle("slow");
}
});
});
请尝试以下脚本:
$(document).ready(function() {
$("#cname").keyup(function() {
if ($("#cname").val().length > 8) {
$('#cname2').toggle("slow");
}
});
});
一种可能的方法():
这里我假设在cname2
容器中有一些警告消息,如果文本输入长度小于等于8个字符,则必须显示这些警告消息。还请注意,我使用的是oninput
处理程序,而不是keyup
:因为它允许我处理鼠标驱动的剪切和粘贴以及直接输入。唯一的缺点是IE8不支持此事件(IE9对它的支持有很多缺陷,因为从文本输入中删除字符时不会触发处理程序)。一种可能的方法():
这里我假设在cname2
容器中有一些警告消息,如果文本输入长度小于等于8个字符,则必须显示这些警告消息。还请注意,我使用的是oninput
处理程序,而不是keyup
:因为它允许我处理鼠标驱动的剪切和粘贴以及直接输入。唯一的缺点是IE8不支持此事件(IE9对它的支持有很多缺陷,因为从文本输入中删除字符时不会触发处理程序)。一种可能的方法():
这里我假设在cname2
容器中有一些警告消息,如果文本输入长度小于等于8个字符,则必须显示这些警告消息。还请注意,我使用的是oninput
处理程序,而不是keyup
:因为它允许我处理鼠标驱动的剪切和粘贴以及直接输入。唯一的缺点是IE8不支持此事件(IE9对它的支持有很多缺陷,因为从文本输入中删除字符时不会触发处理程序)。一种可能的方法():
这里我假设在cname2
容器中有一些警告消息,如果文本输入长度小于等于8个字符,则必须显示这些警告消息。还请注意,我使用的是oninput
处理程序,而不是keyup
:因为它允许我处理鼠标驱动的剪切和粘贴以及直接输入。唯一的缺点是IE8不支持此事件(IE9对它的支持有很大的缺陷,因为当从文本输入中删除字符时不会触发处理程序)
我希望这有帮助
我希望这有帮助
我希望这有帮助
我希望这有助于使用此Javascript函数
var z = document.getElementById('cname');
z.onkeyup = function(){
document.getElementById('cname2').innerHTML = z.value;
}
您的HTML:
<input type='text' name='cname' class='field' id='cname'>
<div class='cname2' id='cname2'></div>
在此处签出:使用此Javascript函数
var z = document.getElementById('cname');
z.onkeyup = function(){
document.getElementById('cname2').innerHTML = z.value;
}
您的HTML:
<input type='text' name='cname' class='field' id='cname'>
<div class='cname2' id='cname2'></div>
在此处签出:使用此Javascript函数
var z = document.getElementById('cname');
z.onkeyup = function(){
document.getElementById('cname2').innerHTML = z.value;
}
您的HTML:
<input type='text' name='cname' class='field' id='cname'>
<div class='cname2' id='cname2'></div>
在此处签出:使用此Javascript函数
var z = document.getElementById('cname');
z.onkeyup = function(){
document.getElementById('cname2').innerHTML = z.value;
}
您的HTML:
<input type='text' name='cname' class='field' id='cname'>
<div class='cname2' id='cname2'></div>
在此处签出:工作
-->
在我预览时检查您的JSFIDLE它不会隐藏div及其始终显示工作-->
在我预览时检查您的JSFIDLE它不会隐藏div及其始终显示工作-->
在我预览时检查您的JSFIDLE它不会隐藏div及其始终显示在showworking-->
上检查JSFIDLE,因为当我预览它时,它不会隐藏div,并且它的“始终显示”切换
不用于切换css类。jqeury站点的描述:显示或隐藏匹配的元素。糟糕的是,我将它与.toggleClass()方法混合使用:-是的toggle()
和slideToggle
切换html元素,toggleClass
切换类。toggle
不用于切换css类。jqeury站点的描述:显示或隐藏匹配的元素。糟糕的是,我将它与.toggleClass()方法混合使用:-是的toggle()
和slideToggle
切换html元素,toggleClass
切换类。toggle
不用于切换css类。jqeury站点的描述:显示或隐藏匹配的元素。糟糕的是,我将它与.toggleClass()方法混合使用:-是的toggle()
和slideToggle
切换html元素,toggleClass
切换类。toggle
不用于切换css类。jqeury站点的描述:显示或隐藏匹配的元素。糟糕的是,我将它与.toggleClass()方法混合使用:-是的toggle()
和slideToggle
切换html元素,toggleClass
切换类。嘿,这对我也不起作用,我觉得我应该提到我使用IE 9,我不知道这是否是我问题的原因。。。是的,这是个问题。尽管如此,IE9和IE8都有一个统一的标准。当然,您可以将其更改为处理keyup
,但这样它就不会处理鼠标事件。请您告诉我如何调整代码以在IE中工作,然后请将input
替换为keyup
。检查控制台,是否有任何错误?我没有办法用IE9测试它,但是这个浏览器支持keyup
。嘿,这对我也不起作用,我觉得我应该提到我在使用IE 9,我不知道这是否是我问题的原因。。。是的,这是个问题。尽管如此,IE9和IE8都有一个统一的标准。当然,您可以将其更改为处理keyup
,但这样它就不会处理鼠标事件。请您告诉我如何调整代码以在IE中工作,然后请将input
替换为keyup
。检查控制台,是否有任何错误?我没有办法用IE9测试它,但是这个浏览器支持keyup