试图从点击事件JS / jQuery调用我的函数

时间:2015-06-09 16:59:45

标签: javascript jquery

我有一个按钮;当我点击按钮我想让我的函数得到一个随机图像(暂时使用颜色)我知道我的函数中的代码有效,但是当我尝试从.click事件调用该函数时,该函数似乎没有工作任何帮助将不胜感激。



function getRandomImage() {
  if ($("#imageContainer").css("background-color", "black") == $("#imageContainer").css("background-color", "black")) {
    $("#imageContainer").css("background-color", "red");
  }
}

$("#mainButton").click(function(){
getRandomImage();
});




我知道我错过了什么/做某事,请帮忙:)。

4 个答案:

答案 0 :(得分:1)

您需要确保将jQuery代码包装在文档中,如下所示:

<script>
    function getRandomImage() {
      if ($("#imageContainer").css("background-color", "black") == $("#imageContainer").css("background-color", "black")) {
        $("#imageContainer").css("background-color", "red");
      }
    }

    $(document).ready(function() {
        $("#mainButton").click(function(){
            getRandomImage();
        });
    });
</script>

此外,由于您没有显示HTML,因此需要确保设置了ID属性:

<input type="button" id="mainButton" />

JQuery选择器(如您的#mainButton)会立即搜索文档模型,以找到要将事件附加到的元素。如果在加载文档之前调用jQuery代码,则可能找不到该元素,因为它尚不存在。因此,您可以使用该文档,以确保在所有元素都加载到DOM之后运行jQuery代码。

答案 1 :(得分:0)

请尝试在document.ready()

中编写click事件
    $(document).ready(function(){
        $("#mainButton").click(function(){
            getRandomImage();
         });
    });

Ouside document.ready()你应该写函数

 function getRandomImage() {
  if ($("#imageContainer").css("background-color", "black") == $("#imageContainer").css("background-color", "black")) {
    $("#imageContainer").css("background-color", "red");
  }
}

否则,您可以直接从按钮调用该功能。

<input type="button" onClick="getRandomImage()" id="mainButton" />

答案 2 :(得分:0)

你可以试试这个:

function getRandomImage() {
    if ($("#imageContainer").css("background-color") == "rgb(0, 0, 0)") {
        $("#imageContainer").css("background-color", "red");
      }
    }

$(document).ready(function() {
    $("#mainButton").click(function(){
        getRandomImage();
    });
});

答案 3 :(得分:0)

非常感谢你们,我大脑失效对我来说最好,但再次感谢大家!

&#13;
&#13;
    $(document).ready(function(){
        $("#mainButton").click(function(){
            getRandomImage();
         });
    });
Ouside document.ready() you should write the function

 function getRandomImage() {
  if ($("#imageContainer").css("background-color", "black") == $("#imageContainer").css("background-color", "black")) {
    $("#imageContainer").css("background-color", "red");
  }
}
Else you can directly call the function from the button.

<input type="button" onClick="getRandomImage()" id="mainButton" />
&#13;
&#13;
&#13;