ColorBox onClick запустити функцію JS

Я використовую вбудовану функціональність ColorBox, і я створив кнопку, яку я встановив для закриття вікна при натисканні:

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

У мене є інша функція, яку я хочу запустити, коли натискається кнопка, тому я використав:

<button class="closebutton" onclick="myFunction();">Close</button>

Проблема в тому, що myFunction не працює вище.

Будь-які ідеї, будь ласка?

UPDATE:

Ось де код:

<script type="text/javascript">
jQuery(document).ready(function() {
    $(".inline").colorbox({inline:true, width:"50%"}); //for colorbox inline
    $('#cboxClose').remove(); //remove popup window close button

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

Додавання myFunction (); до або після $. Fn.colorbox.close (); не працює

мійфункційний код: (це відбувається за наведеним вище кодом на сторінці)

<script type="text/javascript">
function myFunction() {
    $("#ajax-form").submit(function(){
        $.post("update.php",
        $("#ajax-form").serialize(),
            function(data){
                $('#jqm').attr('src', 
                $('#jqm').attr('src'));
            }
        );
        return false;
    });
}
</script>

UPDATE 2:

Я намагатимусь пояснити краще: у мене є форма та введення на головній сторінці, яка працює, знаходячи, тому, коли ви додаєте текст у поле вводу і відправляєте потім форму, тоді значення вводу буде подано. Тепер, коли я вставляю той самий вхід у вбудовану область colorBox, щоб вона з'явилася всередині спливаючого вікна, значення не буде показано. Я намагався захопити JS помилки на firebag, але нічого там немає. Сподіваюся, це допоможе.

0
Див. Оновлення вище
додано Автор Satch3000, джерело
Де визначено myFunction ()? Не могли б ви додати цей код також?
додано Автор Joey, джерело

4 Відповіді

Чому б просто не додати myFunction() перед $. Fn.colorbox.close (); ? Таким чином, ви можете бути впевненими в тому, як обробляються речі.

1
додано
Я сказав ПЕРЕД для однієї причини.
додано Автор Niet the Dark Absol, джерело
Будь-які повідомлення про помилку? Налагодження?
додано Автор Niet the Dark Absol, джерело
У вас є посилання на це не працює? Або ви можете надати код для myFunction() ?
додано Автор Niet the Dark Absol, джерело
не працює ... дивіться оновлення
додано Автор Satch3000, джерело
Я також пробував, але все ще не працює.
додано Автор Satch3000, джерело
Немає помилок взагалі. Просто не працює
додано Автор Satch3000, джерело

Замість того, щоб використовувати inline javascript, ви можете просто зробити щось на зразок цього:

$('.closebutton').live('click', function(){
    $.fn.colorbox.close();
    myFunction();
});
1
додано
не працює ... дивіться оновлення
додано Автор Satch3000, джерело
Код там не виконується правильно. Коли функція викликається з внутрішнього спливаючого вікна, код myFunction не виконується.
додано Автор Satch3000, джерело
Не могли б ви бути дещо конкретніше? Ви потрапляєте в myFunction , і код там не виконується правильно чи функція навіть не називається?
додано Автор Leo, джерело

Я вважаю, проблема полягає в тому, що jQuery перекриває myFunction() (атрибут onClick). Якщо ви хочете, щоб ваша функція виконувалась кожного разу, коли натискається .closebutton , просто використовуйте:

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

Якщо це лише для цієї кнопки, спробуйте додати ідентифікатор цієї кнопки та:

$('.closebutton').live('click', function(){
   $.fn.colorbox.close();
   if($(this).attr('id') == 'exampleID')){
      myFunction();
   }
});
0
додано
не працює ... дивіться оновлення
додано Автор Satch3000, джерело

Гаразд так, прочитавши ваше оновлення # 2, я розумію, що насправді ваша проблема полягає не в тому, що код myFunction не виконується правильно.

Проблема полягає в тому, що ви перемістили свій вхід у колірну коробку, тому його значення не відображатиметься у формі, яка є нормальною, оскільки вхід зараз за межами форми.

Ви можете просто перемістити всю форму в колірну коробку або скористатись javascript, щоб скопіювати значення входу, який ви перемістили за межі вашої форми, у прихований вхід.

0
додано
ІТ КПІ - JavaScript
ІТ КПІ - JavaScript
504 учасників

співтовариство javascript розробників в Telegram