3

我这里有一个复杂的案例,但下面是一个简单的例子。我有两个按钮,每个按钮都有自己的 onClick 功能。当我单击按钮 B 时,我想调用按钮 A 的 onClick 函数。

<input id="buttonA" type="button" value="BUTTON A" onMouseUp="sayHiA()"></input>
<input id="buttonB" type="button" value="BUTTON B" onClick="sayHiB()"></input>

请注意,事件可以是 onClick() 或 onMouseUp()

ps 我必须只使用 javascript 来完成。(没有 jQuery)。谢谢

4

7 回答 7

5
<input type="button" onclick="fnc()"/>
<input type="button" id="message" onclick="alert('ok')" />
<script type="text/javascript">
function fnc()
{

document.getElementById("message").click();
}
</script>

你在找这个吗?

于 2012-10-11T13:37:22.350 回答
3
<html>
<head>//I guess something like setTimeout(function,timeInMilliseconds)
    <script language = "javascript">
    function sayHiA(){
            var v  = document.getElementById('buttonB').getAttribute("onClick");
        setTimeout(v,0);
    }
    function sayHiB(){

        document.getElementById('para').innerHTML = 'wrote';

    }
</script>

</head>
<body>

<input id="buttonA" type="button" value="BUTTON A" onMouseUp="sayHiA()"></input>
<input id="buttonB" type="button" value="BUTTON B" onClick="sayHiB()"></input>

<p id = "para">
Write Here
</p>

</body>


</html>
于 2012-10-11T13:55:43.950 回答
1
function sayHiB() {
    sayHiA();
}
于 2012-10-11T13:31:44.687 回答
1

您是否使用外部 js 尝试过此操作?这是您在 javascript 中可以做的最基本的事情。

我给你做了一个 jsfiddle:http: //jsfiddle.net/pjDVP/4/

html:

<input id='bta' type='button' value='button a'></input>
<input id='btb' type='button' value='button b'></input>​

js(带有jquery laoded):

$(function(){
    $('#bta').click(function(){aORbClick();});
    $('#btb').click(function(){aORbClick();});
})

function aORbClick(){alert('I clicked a or b');}
于 2012-10-11T13:36:29.897 回答
0

只需调用函数或之后调用它sayHiAsayHiB

来自sayHiB的电话

function sayHiB()
{
   sayHiA();
}

或之后

<input id="buttonB" type="button" value="BUTTON B" onClick="sayHiB(); sayHiA();"></input>

或更简单的方法是使用 jQuery,所以你可以这样做

function sayHiB(){
   if($('#id-of-a').attr('onclick'))
       $('#id-of-a').click();
   else if ($('#id-of-a').attr('onmouseup'))
       $('#id-of-a').mouseUp();

}
于 2012-10-11T13:32:06.757 回答
0
function sayHiB(){
    $('#buttonA').click();
}

原始 JS:

function sayHiB(){
    var buttonA = document.getElementById('buttonA');
    buttonA.onclick.apply(buttonA); // in onclick function you can get buttonA as 'this'
}
于 2012-10-11T13:32:15.963 回答
0

我可能会创建一个通用函数来打开按钮的名称/ID 以确定要做什么 - 这也将使您的代码独立于用于调用该函数的事件属性工作。

HTML:

<input id="buttonA" type="button" value="BUTTON A" onMouseUp="myFunc(this)"></input>
<input id="buttonB" type="button" value="BUTTON B" onClick="myFunc(this)"></input>

JavaScript:

function myFunc(elem){
    switch(elem.id){
        case 'buttonA':
            sayHiA();
            break;
        case 'buttonB':
            sayHiB();
            sayHiA();
            break;
    }
}

这也将有助于您可能需要的任何 DOM 操作,因为单击的按钮将传递给通用函数myFunc,从而允许您快速访问其他属性或附近的元素。

于 2012-10-11T14:03:24.750 回答