繁体   English   中英

如何用另一个Javascript更改Javascript函数值?

[英]How to change Javascript function value with another Javascript?

我陷入了javascript的另一个问题,
我的代码由两部分组成

首先是一个简单的下拉菜单:

<select>
    <option name="1">1</option>
    <option name="2">2</option>
    <option name="3">3</option>
</select>

谢胜利,一个简单的div:

<div onClick="doThis('1');">Execute 1</div>

当选择某个选项时,我的脚本当前更改了div的innerHTML ,但现在我还需要它来更改onClick函数值。

意思是,如果我选择选项3 ,javascript应该看onClick =“doThis('3');.

我知道如何使用javascript更改大多数属性,但不知道如何使用其他javascript函数更改javascript onClick属性。 我用谷歌搜索了,但没有想到。

那么,怎么做呢?

所有帮助都是值得赞赏的,
谢谢你。

不要使用内联javascript事件。 您正在混合功能代码(javascript)和呈现代码(HTML)这是一个反模式。 如果你正确地分离这些问题,答案就变得微不足道了:

HTML:

<select id="someSelect">
    <option name="1">1</option>
    <option name="2">2</option>
    <option name="3">3</option>
</select>

<div id="someDiv">Execute</div>

JavaScript的:

document.getElementById('someDiv').onclick = function () {
    var select = document.getElementById('someSelect');
    var number = select.value;

    doThis(number);
};

http://jsfiddle.net/jbabey/HzVd7/

在大多数JavaScript任务中,您不需要更改onClick属性 相反,如果您知道场景中的'3'将在某个时刻发生变化,那么它不应该首先硬编码到函数调用中; 使它成为变量,或使用函数获取它:

<div id="someDiv" onclick="doThis(getValue());">

您可以使用jquery库http://docs.jquery.com/Downloading_jQuery 然后以这种方式挂起事件onsubmit:

$('div').click(function(){
  doThis($("select#someSelect").val());
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM