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