2012-08-08 62 views
0

我有UserControl的按钮。我试图用jQuery来捕捉这个按钮的点击事件。 我在ASCX代码:在myjQueryCode.jsjQuery:捕捉来自usercontrol的点击事件

<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> 

代码。

我已经试过这样:

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

这:

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

这:

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

没有什么工作。

+0

你能告诉我们生成的html吗?并在您的代码的哪部分添加了JavaScript。其次,如果您使用chrome用f12打开开发人员工具并检查错误 – Jorge 2012-08-08 13:23:11

+0

aspx页面中的相同代码正常工作。 – user1439618 2012-08-08 13:23:15

+0

生成的html与ascx文件中的代码完全相同。使用我的JavaScript代码只添加js文件的链接。我想要这个代码拦截按钮点击事件。 – user1439618 2012-08-08 13:33:39

回答

1

应该仅仅是:

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

确保代码可以实际执行。例如,包裹语句的执行功能,像这样:

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

或者执行一次准备好文档,就像这样:

$(document).ready(function() { 
    // Write code here 
}); 
+0

$(document).ready(function(){alert('1')});什么也不要做。请告诉我,这是什么意思。 – user1439618 2012-08-08 16:56:21

+0

您的Javascript代码未执行。也许你没有在你的HTML中正确地包含

2

你有没有试过把你的代码放在$(document).ready()? 试试这个:

$(document).ready(function(){ 

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

}); 
+0

谢谢。但这也不行。 – user1439618 2012-08-08 14:18:29

+0

也许你正在动态地创建按钮? 尝试使用'.live()'而不是'.bind()'... – udidu 2012-08-08 14:21:36

+0

。live()不起作用。可以是aspx和ascx页面之间的区别吗?在aspx中,此代码运行良好。 – user1439618 2012-08-08 14:34:23

0

尝试的HTML代码后,把你的脚本代码 - 也许这将帮助...

0

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

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

欲了解更多信息,请查看了.ready()功能的API文档和教程Getting Started with jQuery

+0

谢谢你的链接。但它不起作用。 – user1439618 2012-08-08 14:41:16

0

使用jQuery,而不是引用.button()你的第一个方法适用于的jsfiddle:http://jsfiddle.net/Cd5Qj/

所以很可能是要么你打错路径jQuery库的脚本标签,或者你”再不包括jQuery的块中的代码,如:

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

...还是有一些冲突,我们不能检查,因为有你在这里没有显示更多的代码。