警报消息onclick事件

时间:2012-03-30 16:25:18

标签: javascript jquery

我正在尝试从.cshtml文件中调用按钮单击:

  <input type="button" id="ImageHosting" value="To Image Hosting" onclick="ImageHosting_Click()"/> 

这是.js文件:

 function ImageHosting_Click() {
               $("#ImageHosting").click(function () {
                   alert("test");
               });
       }

我无法收到提醒信息。知道为什么吗?

3 个答案:

答案 0 :(得分:6)

你在HTML中内联事件处理程序,你也使用jQuery在函数内再次绑定,这是不正确的。

只需删除内嵌onclick,

<input type="button" id="ImageHosting" value="To Image Hosting" />

改变JS

$(document).ready ( function () {
    $("#ImageHosting").click(function () {
       alert("test");
    });
});

如果此按钮是动态插入的话,

$(document).ready ( function () {
    //replace document below with enclosing container but below will work too
    $(document).on('click', "#ImageHosting", function () {
       alert("test");
    });
});

如果旧版本的jQuery(&lt; 1.7)

,请使用.live/.delegate

答案 1 :(得分:5)

// Try like this:

$("#ImageHosting").click(function() {
  alert("test");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" id="ImageHosting" value="To Image Hosting" />

答案 2 :(得分:4)

与SKS的答案相反(保持内联onclick属性):

<input type="button" id="ImageHosting" value="To Image Hosting" onclick="ImageHosting_Click()"/>

function ImageHosting_Click(){
    alert("test");
}

甚至全部合二为一:

<input type="button" id="ImageHosting" value="To Image Hosting" onclick="alert('test');"/>