如何在按键后删除背景图像?

时间:2012-06-12 21:51:51

标签: javascript jquery css

我在用户输入文本框时显示旋转轮图像,在完成ajax调用后,我想删除图像。问题是图像不会消失。我确定代码已执行,因为我可以看到代码中陈述的日志信息。我做错了什么?

$(document).ready(function () {
    $("[NeedSpellCheck='true']").each(function () {
        $(this).keypress(function (e) {
            $(this).css("background-image", "url(images/loading.gif)");
            $(this).css("background-repeat", "no-repeat");
            $(this).css("background-position", "right");

            $(this).spellchecker(
            {
                url: "~/JQuerySpellCheckerHandler.ashx",
                lang: "en",
                engine: "google",
                suggestBoxPosition: "bottom"
            }).spellchecker("check", function (result) {
                $(this).css("background-image", "none"); // <-- corrected typo
                console.log("removed"); //<-- displayed in console
            });
        });
    });
});

<input type="text" NeedSpellCheck="true" />

更新 我纠正了错字,但它仍然不起作用。

2 个答案:

答案 0 :(得分:2)

你有一个错字:

$(this).css("background-image", "none");

如果这不是问题,您可能需要在插件外引用它:

$(document).ready(function () {
    $("[NeedSpellCheck='true']").each(function () {
        $(this).keypress(function (e) {
            var $this = $(this);  // you could use $this for the following as well
            $(this).css("background-image", "url(images/loading.gif)");
            $(this).css("background-repeat", "no-repeat");
            $(this).css("background-position", "right");

            $(this).spellchecker(
            {
                url: "~/JQuerySpellCheckerHandler.ashx",
                lang: "en",
                engine: "google",
                suggestBoxPosition: "bottom"
            }).spellchecker("check", function (result) {
                $this.css("background-image", "none");  // reference object
                console.log("removed"); //<-- displayed in console
            });
        });
    });
});

答案 1 :(得分:0)

取代:

$(this).css("backbround-image", "none");

使用:

$(this).css("background-image", "none");