Почему функция переключения не работает в этом jsfiddle?

0

Я не очень хорошо разбираюсь в jQuery, как вы можете видеть.

$(function(){
$('#change').click(function() {   
   $('#html').html("changed");
},
function() {
    $('#html').html("No change");
});
});

В целях тестирования я пытался сделать скрипку, но я не мог заставить ее работать

Почему смена простого простого HTML не работала в этой скрипке?

Вот fiddle- http://jsfiddle.net/kk7LZ/

  • 1
    обработчики кликов не принимают входящие / исходящие (вкл / выкл)
Теги:

5 ответов

0
Лучший ответ

toggle() был удален из jquery версии 1.9

Одним из решений является использование плагина jQuery migrate для обнаружения и восстановления API или функций, которые устарели в jQuery и удалены с версии 1.9.

Также вам нужно изменить click чтобы toggle

$(function(){
    $('#change').toggle(function() {   
        $('#html').html("changed");
    },
    function() {
        $('#html').html("No change");
    });
});

Обновленный скрипт

  • 0
    Плагин миграции работал для меня.
2

toggle метод события был удален из jquery 1.9

Ты можешь сделать

Fiddle Demo

var $html = $('#html');
$('#change').click(function () {
    $html.html(($html.html() == 'changed') ? 'no changed' : 'changed');
});
0

метод toggle event удален в jquery 1.9, он больше не связывает несколько обработчиков кликов с элементом, вместо этого он переключает видимость элемента: http://api.jquery.com/toggle-event/

Вы можете либо использовать jquery 1.8, либо реализовать метод toggle самостоятельно

0

Вы могли бы просто сделать:

DEMO

$(function () {
    $('#change').click(function () {
        this.toggle = !this.toggle;
        $('#html').html(this.toggle ? "changed" : "No change!");
    });
});
0

это то, что вы пытаетесь сделать?

$('#change').click(function() {   
   $('#html').html("changed");
});

играть на скрипке

Ещё вопросы

Сообщество Overcoder
Наверх
Меню