重用Jquery脚本

时间:2011-07-15 00:29:38

标签: javascript jquery html

我正在尝试重用我制作的功能,但还有任何帮助。

这是我的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)。如何使它与两个警报窗口一起工作?

先谢谢了。

3 个答案:

答案 0 :(得分:2)

你到底想要做什么?

从我所看到的,你可以实现与你所拥有的相同的功能:

$(function() {
    $('button').click(function() {
        alert("hello #" + this.id);
    });
});

Example

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