我正在尝试重用我制作的功能,但还有任何帮助。
这是我的index.html。
<html>
<head>
<script src="jquery-1.5.1.js")" type="text/javascript"></script>
<script src="JqueryScript.js")" type="text/javascript"></script>
<script type="text/javascript">
//MYLIBRARY.init(['#button1']);
execute(['#button1']);
execute(['#button2']);
</script>
</head>
<body>
<button type="button" id="button1">Click Me!</button>
<button type="button" id="button2">Click Me!</button>
</body>
</html>
这是我的剧本。
function execute (Args){
_args = Args;
$(function() {
$(_args[0]).click(function() {
alert("hello " + _args[0]);
return false;
});
});
}
问题始终是触发第二个警报窗口(#button2)。如何使它与两个警报窗口一起工作?
先谢谢了。
答案 0 :(得分:2)
你到底想要做什么?
从我所看到的,你可以实现与你所拥有的相同的功能:
$(function() {
$('button').click(function() {
alert("hello #" + this.id);
});
});
答案 1 :(得分:2)
我的猜测是你想知道为什么两个按钮都提醒相同的输出。
因为_args
全球。因此,第二次调用将覆盖_args
。
使用var
将其设为本地:
var _args = Args;
您的代码仍然可以改进(see @Town's answer),但这应该可以帮助您开始。
您的HTML中也有错误
<script src="jquery-1.5.1.js")" type="text/javascript"></script>
<!-- ^^ -->
<script src="JqueryScript.js")" type="text/javascript"></script>
<!-- ^^ -->
答案 2 :(得分:0)
对我看起来像C:)
你最好用
<script type="text/javascript">
$(function () {
execute('#button1');
execute('#button2');
}
function execute(buttonId)
{
$(buttonId).click(function () { alert('Hello ' + this.id); });
}
</script>