如何在javascript中使用回调

如何在javascript中使用回调,javascript,event-handling,Javascript,Event Handling,我正在添加下面的javascript,但我不想打乱onclick函数的初衷(即向sharepoint列表中添加一项) 元素。removeEventListener('click',redirect(),false) 函数重定向() { var inputctrls=document.getElementsByTagName(“输入”); 对于(m=0;m,据我所知,您有一个按钮要将函数funcOnClick绑定到它 您可以向名为“重定向”的按钮添加ID,然后执行类似操作 <script

我正在添加下面的javascript,但我不想打乱onclick函数的初衷(即向sharepoint列表中添加一项)


元素。removeEventListener('click',redirect(),false)
函数重定向()
{
var inputctrls=document.getElementsByTagName(“输入”);

对于(m=0;m,据我所知,您有一个按钮要将函数
funcOnClick
绑定到它

您可以向名为“重定向”的按钮添加ID,然后执行类似操作

<script type="text/javascript">
 window.onload = function(){
     var button = document.getElementById('redirect');
     button.onclick = funcOnClick;
 }
</script>

<button id="redirect">Finish</button>

window.onload=函数(){
var button=document.getElementById('redirect');
button.onclick=funcOnClick;
}
完成

更新:Mmh。我忘记了事件处理程序的执行顺序不保证。请尝试以下(
重定向
):

var-inputctrls=document.getElementsByTagName(“输入”);

对于(m=0;mYou可以使用
addEventListener
attachEvent
。有关这方面的详细信息,请访问element.removeEventListener('click',redirect(),false)函数redirect(){var inputctrls=document.getElementsByTagName(“input”);对于(m=0;我的代码是错误的。但我实际上不明白您真正想做什么,因此我无法进一步帮助您。我正在SharePoint中处理调查列表。SP为您提供了一个名为“完成”的提交按钮。当用户单击“完成”按钮时,它会将一个项目添加到调查列表中。我需要添加其他功能,以便将用户重定向到感谢页面。实际上是“完成”按钮是一个sharepoint按钮,用于将项目添加到调查列表中。我正在尝试向该按钮添加附加功能,或者在用户单击该按钮后添加附加功能,以便将其重定向到感谢页面。您的代码将重定向到感谢页面并绕过“完成”原始事件。(如何使用代码添加附件事件)?你好,felix.“完成”按钮的原始功能正在工作(在调查列表中添加记录)。重定向部分仍然不起作用。实际上代码中有一个错误,
而不是
重定向之后。
重定向
是否起作用?是的,先生,我已经解决了;问题。但仍然是相同的问题。那么,我不知道。我不知道环境,实际上我不知道SharePoint。我也不知道还有什么其他问题单击处理程序正在执行。
<script type="text/javascript">
 window.onload = function(){
     var button = document.getElementById('redirect');
     button.onclick = funcOnClick;
 }
</script>

<button id="redirect">Finish</button>
var inputcCtrls = document.getElementsByTagName("input"); 
for(m=0; m<inputcCtrls.length; m++){ 
    if(inputcCtrls[m].type == 'button' && inputcCtrls[m].value == 'Finish'){
        var input = inputcCtrls[m];
        var __orig_handler = input.onclick;
        input.onclick = function() {
            __orig_handler();
            redirect();
        };
        break;
    }
}
function redirect() { 
    window.parent.location = "intranet/surveys/Pages/ThankYou.aspx";
}

var inputcCtrls = document.getElementsByTagName("input"); 
for(m=0; m<inputcCtrls.length; m++){ 
    if(inputcCtrls[m].type == 'button' && inputcCtrls[m].value == 'Finish'){
        inputcCtrls[m].addEventListener('click', redirect, false);
        break;
    }
}