Как преобразовать анонимную функцию в обычную? - PullRequest
3 голосов
/ 01 февраля 2011

Всего JS нуб здесь. У меня есть следующая строка, которая реализует ползунок jQuery:

<script type="text/javascript">
    $(document).ready(function () {
        $("#wheelLeft").slider({ 
                 orientation: 'vertical', value: 37, 
                 min: -100, max: 100, 
                 slide: function (event, ui) { $("#lblInfo").text("left"); } });
    });
</script>

В основном для события slide текст #lblInfo получает значение left. Это отлично работает. Однако я хотел бы преобразовать встроенную анонимную функцию, которая обрабатывает событие слайда, в обычную функцию.

Может кто-нибудь помочь?

Ответы [ 4 ]

11 голосов
/ 01 февраля 2011
<script type="text/javascript">

function handleSlide(event, ui) { 
    $("#lblInfo").text("left"); 
}

$(document).ready(function () {
    $("#wheelLeft").slider({ 
             orientation: 'vertical', value: 37, 
             min: -100, max: 100, 
             slide: handleSlide
    });
});
</script>
2 голосов
/ 01 февраля 2011

Просто определите именованную функцию:

function doSlide(event, ui)
{
    $("#lblInfo").text("left");
}

$(document).ready(function() {
    $("#wheelLeft").slider({
        orientation: 'vertical', value: 37, 
        min: -100, max: 100, 
        slide: doSlide
    });
});
2 голосов
/ 01 февраля 2011
<script type="text/javascript">
    function myfunc(event, ui) {

    }

    $(document).ready(function () {
        myfunc(event, ui)
    });
</script>

сделает это. Это, очевидно, не идеальное решение, так как оно все еще использует анонимное решение, но должно решить любые проблемы, с которыми вам нужно манипулировать функцией вручную.

0 голосов
/ 01 февраля 2011
$(document).ready(function myFunction() {
    // do something
});
...