Javascript ColorBox onClick运行JS函数

Javascript ColorBox onClick运行JS函数,javascript,jquery,colorbox,Javascript,Jquery,Colorbox,我正在使用ColorBox内联功能,我创建了一个按钮,我已将其设置为在单击时关闭窗口: $('.closebutton').live('click', function(){ $.fn.colorbox.close(); }); 我还有一个功能,我想在单击按钮时运行,因此我使用了: <button class="closebutton" onclick="myFunction();">Close</button> 更新2: 我将尝试更好地解释:

我正在使用ColorBox内联功能,我创建了一个按钮,我已将其设置为在单击时关闭窗口:

$('.closebutton').live('click', function(){
        $.fn.colorbox.close();
    });
我还有一个功能,我想在单击按钮时运行,因此我使用了:

<button class="closebutton" onclick="myFunction();">Close</button>
更新2:

我将尝试更好地解释:我在主页上有一个表单和输入,可以工作查找,因此当您向输入框中添加一些文本并提交表单时,输入的值将被提交。 现在,当我将相同的输入放在colorBox的内联区域中,使其显示在弹出窗口中时,值不会提交。我尝试在firebag上抓取JS错误,但在那里看不到任何东西。
希望这有帮助。

为什么不在
$.fn.colorbox.close()之前添加
myFunction()
?通过这种方式,您可以确定事情的处理顺序。

不使用内联javascript,只需执行以下操作:

$('.closebutton').live('click', function(){
    $.fn.colorbox.close();
    myFunction();
});

我认为问题在于jQuery正在覆盖
myFunction()
(onClick属性)。如果希望在单击
.closebutton
时执行函数,只需使用:

$('.closebutton').live('click', function(){
        $.fn.colorbox.close();
        myFunction();
});
如果仅针对该按钮,请尝试向该按钮添加id,然后:

$('.closebutton').live('click', function(){
   $.fn.colorbox.close();
   if($(this).attr('id') == 'exampleID')){
      myFunction();
   }
});

好的,在阅读了更新#2之后,我了解到实际上您的问题并不是myFunction代码没有正确执行

问题是您将输入移到了colorbox中,因此其值不会随表单一起提交,这是正常的,因为输入现在位于表单之外


您可以简单地将整个表单移动到colorbox中,也可以使用javascript将移动到表单外部的输入值复制到隐藏的输入中。

myFunction()定义在哪里?你能不能也加上那个代码?你有链接到它不工作吗?或者您可以提供
myFunction()
的代码吗?您可以更具体一点吗?您是否进入了
myFunction
,那里的代码执行不正确,或者甚至没有调用该函数?那里的代码执行不正确。从内联弹出窗口内部调用函数时,不会执行myFunction代码。
$('.closebutton').live('click', function(){
        $.fn.colorbox.close();
        myFunction();
});
$('.closebutton').live('click', function(){
   $.fn.colorbox.close();
   if($(this).attr('id') == 'exampleID')){
      myFunction();
   }
});