keyup()上的jQuery更改input.value仅适用于FF 3.6

时间:2012-06-12 19:22:42

标签: jquery input keyup

好的,所以我终于进入了jQuery,但我希望能够运行我的函数的基本问题。我在页面上有3个输入字段,其中两个被禁用。我的目标是当用户在第一个输入字段中输入文本时,其他2个字段的值将在keyup()上更改为用户在第一个输入字段中输入的值。

我在jsfiddle.net上测试了我的功能,然后才能将它放在我的页面上,并且它在所有浏览器中运行良好,但是一旦我将该功能移动到我的网页并运行它,该功能将无法正常工作。它似乎适用于Firefox 3.6,但之后没有任何版本。由于某些原因,它在chrome或IE中也不起作用。

jsfiddle Demo

的jQuery

$(document).ready(function () {
    var $title2 = $("#title2"),
        $title3 = $("#title3");
    $("#cheader").keyup(function () {
        $title2.val(this.value);
        $title3.val(this.value);
    });
    $("#cheader").blur(function () {
        $title2.val(this.value);
        $title3.val(this.value);
    });​
});

CSS

.nobox {
border: none;
text-align: center;
color: #000;
background-color: #fff;
text-decoration: underline; 
font-weight: bold;
font-size: 14px;
}

HTML

<input type="text" onClick="if(this.value=='Click Here To Enter Text'){this.value=''}else{this.value=this.value}" onBlur="if(this.value==''){this.value='Click Here To Enter Text'}" style="width:250px;" class="nobox" value="Click Here To Enter Text" maxlength="35" id="cheader"/>

<input type="text" style="width:250px;" class="cheader nobox" value="Click Here To Enter Text" id="title2" disabled disabled="disabled"/>​

<input type="text" style="width:250px;" class="cheader nobox" value="Click Here To Enter Text" id="title3" disabled disabled="disabled"/>​

1 个答案:

答案 0 :(得分:1)

我将$(document).ready(function () {更改为$(function() {,现在所有浏览器都能正常运行。不确定为什么,但它现在有效:D

$(function() {
var $title2 = $("#title2"),
    $title3 = $("#title3");

$("#cheader").keyup(function() {
    $title2.val(this.value);
    $title3.val(this.value);
});
$("#cheader").blur(function() {
    $title2.val(this.value);
    $title3.val(this.value);
});