0

我有带按钮的 UserControl。我正在尝试使用 jQuery 捕获此按钮的单击事件。我在 ascx 中的代码:

<link type="text/css" href="css/jquery-ui-1.8.22.custom.css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.22.custom.min.js"></script>
<script type="text/javascript" src="js/myjQueryCode.js"></script>

<button id="test-button">Test</button>

myjQueryCode.js 中的代码。

我试过这个:

$('#test-button').bind('click', function() {
    alert("123");
});

还有这个:

$("[id$=test-button]")
    .button()
    .click(function() {
        alert("123");
});

还有这个:

$('#test-button')
    .button()
    .click(function() {
        alert("123");
});

没有什么是工作。

4

5 回答 5

2

您是否尝试将代码放在旁边$(document).ready()?试试这个:

$(document).ready(function(){

    $('#test-button').bind('click', function() {
        alert("123");
    });

});
于 2012-08-08T13:23:47.423 回答
1

它应该只是:

$('#test-button').click(function () {
    console.log('Click activated.');
});

确保代码可以实际执行。例如,将语句包装在执行的函数中,如下所示:

(function () {
    // Write code here
}());

或者在文档准备好后执行,如下所示:

$(document).ready(function () {
    // Write code here
});
于 2012-08-08T13:24:03.030 回答
0

尝试将您的脚本代码放在您的 html 代码之后 - 也许这会有所帮助...

于 2012-08-08T13:23:58.640 回答
0

您的 jQuery 代码在元素存在之前执行(因为<script>标签位于按钮的 HTML 之前),因此您需要将其包装在 DOM 就绪事件处理程序中。像这样:

$(document).ready(function() {
    $('#test-button').bind('click', function() {
        alert("123");
    });
});

有关更多信息,请查看.ready()函数的 API 文档和jQuery 入门教程。

于 2012-08-08T13:24:57.530 回答
0

您使用 jQuery 的第一种方法,而不是引用 .button() 在 jsfiddle 中有效:http: //jsfiddle.net/Cd5Qj/

因此,很可能您的脚本标记中的 jQuery 库路径错误,或者您没有在 jQuery 块中包含代码,例如:

$(function(){
  ... //code here
});

...或者有一些我们无法检查的冲突,因为您没有在此处显示更多代码。

于 2012-08-08T13:29:34.617 回答