我想在用户编辑divwith contenteditable属性的内容时运行一个函数.什么相当于一个onchange事件?
我正在使用jQuery,所以任何使用jQuery的解决方案都是首选.谢谢!
有可能以某种方式将javascript(jQuery是最好的)事件绑定到"更改"表单输入值吗?
我知道.change()方法,但是在你(光标)离开输入字段之前它不会触发.我也考虑过使用.keyup()方法,但它也会对箭头键等作出反应.
我只需要在输入中的文本每次更改时触发一个动作,即使它只有一个字母更改.
在jQuery中,$.bind("propertychange", callback)在Firefox中不可用,我该如何解决这个问题?
最终,我用它来实现:
if ($.browser.msie) {
$this.unbind("propertychange").bind("propertychange", function(e) {
e.preventDefault();
bindTrigger();
});
}
else {
document.getElementById(_acBoxCtrlID).addEventListener("input", bindTrigger, false);
}
Run Code Online (Sandbox Code Playgroud) 我正在编写一个简单的javascript表单,它根据值"blue"检查输入值.现在,如果你输入"蓝色",它表示它是不正确的,但如果添加任何其他字符,它说是正确的.好像有一个字符的延迟,所以当我输入"蓝色"时,它只会变成"蓝色".这是代码:
<html>
<head>
<title>Favorite Color</title>
</head>
<body>
<h1>Quiz Time</h1>
<h2>What is your favorite color?</h2>
<p>Your Answer: <input type="text" id="txtinput" /></p>
<p id="message"></p>
<script type = "text/javascript">
function init() {
var inp = document.getElementById("txtinput");
inp.onkeypress=checkAnswer;
checkAnswer();
}
onload = init;
function checkAnswer() {
var text = document.getElementById("txtinput");
var msg = document.getElementById("message");
var sol = "blue";
var ans = text.value;
ans = ans.toLowerCase();
if (ans.length <=0) {
msg.innerHTML="<span style=\"color:blue;\">Enter Something.</span>";
}
else if (ans == sol) {
msg.innerHTML="<span style=\"color:green;\">Correct!</span>";
} else { …Run Code Online (Sandbox Code Playgroud)