首页 新闻 会员 周边

关于JavaScript中的动态绑定事件问题

0
悬赏园豆:10 [已关闭问题] 关闭于 2013-04-15 00:18

 

<script type="text/javascript">
    $(document).ready(function () {
        $(".btn").each(function () {
            var id = $(this).attr("id");
            var hotkey = $(this).attr("hotkey");
            var fnName = $(this).attr("function");
            var fn = "javascript:" + fnName + "();";
            $(this).attr("onclick", fn);
            $(document).bind('keydown', hotkey, fn);
        });
    });

    function doClick1() {
        alert("click1");
    }

    function doClick2() {
        alert("click2");
    }
</script>

<input id="btn" class="btn" type="button" hotkey="ctrl+c" function="doClick1" value=" 点击我 " />

 

代码如上所示,doClick1是定义在<script>中的函数,怎样才能使点击该按钮或者按下"ctrl+c"就能执行doClick1这个函数,这个doClick1函数不固定,所以只能用字符串来关联,比如function="doClick1",就弹出"click1",function="doClick2",就弹出"click2",不能写死在javascript里面。

terry59599s的主页 terry59599s | 菜鸟二级 | 园豆:202
提问于:2013-04-01 22:05
< >
分享
所有回答(2)
0

<input id="btn" class="btn" type="button" onclick="doClick1()" value=" 点击我 " />

<script>

$(function(){
    document.onkeydown =function()
{  
var a=window.event.keyCode;
    if((a==67)&&(event.ctrlKey))
    {
      doClick1();
    }
}

</script>
});

Yu | 园豆:12980 (专家六级) | 2013-04-01 22:08
0

把function换成onclick=“doClick1()”  调用    不过你写的这个方法包在<script>中,调用必须保证该js在这个标签之前,否则不能调用成功

~峰~ | 园豆:120 (初学一级) | 2013-04-01 22:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册