Функция, вызываемая перед onclick [duplicate]

Пожалуйста, проверьте, как только выбранная база данных не была вызвана, потому что некоторая база данных не выбрана

Проверьте

mysql_select_db('database name ')or DIE('Database name is not available!');

перед запросом MySQL, а затем перейдите к следующему шагу

$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');

f($result === FALSE) {
    die(mysql_error());
241
задан Peter Mortensen 15 November 2015 в 22:27
поделиться

7 ответов

Для тщательности я столкнулся с другим решением, которое было частью функциональности, представленной в версии 1.4.3 обработчика события jQuery .

Позволяет вам передать карта данных к объекту события, который автоматически возвращается в функцию обработчика события jQuery в качестве первого параметра. Карта данных будет передана функции .click() в качестве первого параметра, за которой следует функция обработчика событий.

Вот какой код, чтобы проиллюстрировать, что я имею в виду:

// say your selector and click handler looks something like this...
$("some selector").click({param1: "Hello", param2: "World"}, cool_function);

// in your function, just grab the event object and go crazy...
function cool_function(event){
    alert(event.data.param1);
    alert(event.data.param2);
}

Я знаю, что уже поздно в этом вопросе, но предыдущие ответы привели меня к этому решению, поэтому я надеюсь, что когда-нибудь это кому-то помогло!

442
ответ дан Chris Kempen 25 August 2018 в 15:59
поделиться

У меня был успех с использованием .on () следующим образом:

$('.leadtoscore').on('click', {event_type: 'shot'}, add_event);

Затем внутри функции add_event вы получаете доступ к «выстрелу» следующим образом:

event.data.event_type

Дополнительную информацию см. В документации .on () , где они приводят следующий пример:

function myHandler( event ) {
  alert( event.data.foo );
}
$( "p" ).on( "click", { foo: "bar" }, myHandler );
19
ответ дан Gravity Grave 25 August 2018 в 15:59
поделиться

Да, это старый пост. Независимо, кто-то может сочтет это полезным. Вот еще один способ отправки параметров обработчикам событий.

//click handler
function add_event(event, paramA, paramB)
{
    //do something with your parameters
    alert(paramA ? 'paramA:' + paramA : '' + paramB ? '  paramB:' + paramB : '');
}

//bind handler to click event
$('.leadtoscore').click(add_event);
...
//once you've processed some data and know your parameters, trigger a click event.
//In this case, we will send 'myfirst' and 'mysecond' as parameters
$('.leadtoscore').trigger('click', {'myfirst', 'mysecond'});

//or use variables
var a = 'first',
    b = 'second';

$('.leadtoscore').trigger('click', {a, b});
$('.leadtoscore').trigger('click', {a});
7
ответ дан Kevin 25 August 2018 в 15:59
поделиться

Вам нужно использовать анонимную функцию, подобную этой:

$('.leadtoscore').click(function() {
  add_event('shot')
});

Вы можете вызвать ее, как в примере, просто имя функции без параметров , например :

$('.leadtoscore').click(add_event);

Но метод add_event не получит 'shot' как его параметр, но, скорее, любой click переходит к его обратному вызову, то есть самому объекту event ... поэтому он не применим в этом случае , но работает для многих других. Если вам нужно передать параметры, используйте анонимную функцию ... или есть одна опция other , используйте .bind() и передайте данные, например:

$('.leadtoscore').bind('click', { param: 'shot' }, add_event);

И получить доступ к нему в add_event, например:

function add_event(event) {
  //event.data.param == "shot", use as needed
}
71
ответ дан Nick Craver 25 August 2018 в 15:59
поделиться

Я получаю простое решение:

 <button id="btn1" onclick="sendData(20)">ClickMe</button>

<script>
   var id; // global variable
   function sendData(valueId){
     id = valueId;
   }
   $("#btn1").click(function(){
        alert(id);
     });
</script>

Мое значение в том, что передать событие onclick в javascript function sendData(), инициализировать переменную и взять ее методом обработчика событий jquery.

Это возможно, так как сначала sendData(valueid) вызывается и инициализирует значение. Затем после запуска jquery event get и используйте это значение.

Это прямое решение, а для решения для решения go Здесь .

0
ответ дан Sushant 25 August 2018 в 15:59
поделиться

Если вы называете это так, как вы это сделали ...

$('.leadtoscore').click(add_event('shot'));

... вам нужно, чтобы функция add_event() возвращала функцию, например ...

function add_event(param) {
    return function() {
                // your code that does something with param
                alert( param );
           };
}

Функция возвращается и используется как аргумент для .click().

32
ответ дан user113716 25 August 2018 в 15:59
поделиться
      $imgReload.data('self', $self);
            $imgReload.click(function (e) {
                var $p = $(this).data('self');
                $p._reloadTable();
            });

Установить объект javaScript для элемента onclick:

 $imgReload.data('self', $self);

получить объект из этого элемента:

 var $p = $(this).data('self');
5
ответ дан Vladimir Novick 25 August 2018 в 15:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: