Javascript事件监听器未执行

时间:2014-09-09 19:55:14

标签: javascript php wordpress

我从一个按钮调用preConditionPostCure函数。这个功能肯定会被调用。这是功能:

function preConditionPostCure(condition_id) {
    child_open('<?php echo get_permalink(67)."?id=new&condition_redirect="; ?>' + condition_id,750,1017);
    popupWindow.getElementById('acf_form_submit_btn').onclick = function goBacktoCondition() {      
        closepopup();
        $.post('<?php echo home_url()."/wp-content/themes/backyard-cures/backyard_funcs.php" ?>', {userId: '<?php echo get_current_user_id(); ?>', condition_redirect: condition_id}, function(data) { postConditionPostCure(data.cure_id) },'json');   
    }
}

这是child_open函数:

function child_open(url,height,width)
    { 
    if(popupWindow!=null && !popupWindow.closed) {
        popupWindow.focus();
    }
    else {
        popupWindow = window.open(url,'_blank','height='+height+',width='+width);
    }
}

这是closepopup函数:

function closepopup(){
    if(false == popupWindow.closed){
        popupWindow.close ();
    }
}

我知道函数正在被调用,因为弹出窗口正在打开并带有正确的url。 但是我在下一行遇到错误,我试图在popupWindow中为一个元素定义一个事件监听器。我试图定义函数goBacktoCondition,以便它在单击元素时执行。不用说,单击元素时不会调用goBacktoCondition函数。我知道这是因为popupWindow没有关闭。另外,我收到控制台上有问题的行说“未定义不是函数”的错误。

提前致谢。

0 个答案:

没有答案