Конвертировать немного JavaScript в JQuery - PullRequest
0 голосов
/ 11 марта 2009

У меня есть код JavaScript, который выполняет следующие действия:

link.NavigateUrl = string.Format("javascript:MyFunction({0}, {1});", ID1, ID2);

Поэтому, когда щелкает ссылка, вызывается MyFunction и передаются динамические параметры.

Как передать эти параметры, используя jQuery, например:

$(function(){
    $('#MyLinksID').click(function(){
        console.log('Want to have access the two params here');       
});

Так, как я могу получить доступ к параметрам из моего события клика?

Ответы [ 3 ]

3 голосов
/ 11 марта 2009

Вам нужно использовать «замыкание», центральную концепцию в javascript.

Короче говоря, функция имеет доступ к переменным в области, в которой она была создана.

$(function(){
    var ID1 = 'foo';
    var ID2 = 'bar';
    $('#MyLinksID').click(function(){
        console.log(ID1+ID2);
    }
});

Переменные ID1 и ID2 находятся в той же области, в которой создана ваша функция обратного вызова, поэтому она все равно может получить к ним доступ при вызове позже.

0 голосов
/ 11 марта 2009

Проблема в том, что событие click для #MyLinksID, на которое вы ссылаетесь, не имеет связи со свойством NavigateUrl. Вам нужно уточнить свой вопрос, так как два парня ответили на 2 возможных ответа.

0 голосов
/ 11 марта 2009

Если вы пытаетесь вызвать MyFunction и получить доступ к параметрам внутри события щелчка JQuery, самый простой способ - это проанализировать ссылку на ссылку.

Как-то так должно работать (внутри вашего события jQuery click):

var href = this.href;
var startPos = href.indexOf("(") + 1;
var endPos = href.indexOf(")");

var parms = href.substr(startPos, endPos - startPos).split(",");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...