相关疑难解决方法(0)

JavaScript:使用或不使用jQuery更改onclick的值

我想onclick在锚点上更改属性的值.我想将其设置为包含JavaScript的新字符串.(该字符串由服务器提供给客户端JavaScript代码,它可以包含您可以onclick在HTML 中的属性中放置的任何内容.)以下是我尝试过的一些内容:

  • 使用jQuery attr("onclick", js)不适用于Firefox和IE6/7.
  • 使用setAttribute("onclick", js)Firefox和IE8,但不是IE6/7.
  • 使用onclick = function() { return eval(js); }不起作用因为您不允许使用return传递给的代码eval().

任何人都有建议将onclick属性设置为使其适用于Firefox和IE 6/7/8?另请参阅下面我用来测试它的代码.

<html>
    <head>
        <script type="text/javascript"
                src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                var js = "alert('B'); return false;";
                // Set with JQuery: doesn't work
                $("a").attr("onclick", js);
                // Set with setAttribute(): at least works with Firefox
                //document.getElementById("anchor").setAttribute("onclick", js);
            });
        </script>
    </head>
    <body>
        <a href="http://www.google.com/" id="anchor" onclick="alert('A'); return false;">Click</a>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript jquery attributes onclick

48
推荐指数
1
解决办法
16万
查看次数

如何在'select'标签中编辑'onchange'属性?(使用jquery)

我正在尝试编辑现有'select'元素的'onchange'事件.

例如,我有以下代码:

<select id="sel_id" onchange="javascript:foo();" >
Run Code Online (Sandbox Code Playgroud)

每当我尝试更改其'onchange'属性时,我使用以下内容:

$("#sel_id").attr("onchange", "foo_2()");
Run Code Online (Sandbox Code Playgroud)

仅供参考,此代码应该没有问题,'onchange'属性保持不变.那你该怎么编辑呢?

AMMENDMENT:

您可以删除该属性,然后绑定不同的函数,如:

$("#sel_id").removeAttr("onchange").bind("change", function(){ foo_2(); });   
Run Code Online (Sandbox Code Playgroud)

但问题仍然存在,是否有可能在不首先删除它的情况下更改'onchange'属性?

html jquery events select

10
推荐指数
1
解决办法
3万
查看次数

标签 统计

jquery ×2

attributes ×1

events ×1

html ×1

javascript ×1

onclick ×1

select ×1