Начиная с jQuery 1.7, вы должны использовать jQuery.fn.on
:
$(staticAncestors).on(eventName, dynamicChild, function() {});
До этого рекомендуется использовать live()
:
$(selector).live( eventName, function(){} );
Однако live()
устарел в 1.7 в пользу on()
и полностью удален в 1.9. Подпись live()
:
$(selector).live( eventName, function(){} );
... может быть заменена следующей on()
сигнатурой:
$(document).on( eventName, selector, function(){} );
Например, если ваша страница динамически создавала элементы с именем класса dosomething
, вы привязывали бы событие к родительскому, который уже существует (здесь есть нуль проблемы, вам нужно что-то, что существует для привязки, не привязка к динамическому контенту), это может быть (и самый простой вариант) - document
. Хотя иметь в виду document
, возможно, не самый эффективный вариант .
$(document).on('mouseover mouseout', '.dosomething', function(){
// what you want to happen when mouseover and mouseout
// occurs on elements that match '.dosomething'
});
Любой родитель, который существует в момент привязки события, прекрасен. Например,
$('.buttons').on('click', 'button', function(){
// do something here
});
применимо к
Это известная ошибка, затрагивающая iOS 8.x и 9.x. Вы можете обойти это, создав /usr/lib/swift
каталоги в соответствующем корне времени выполнения симулятора.
Время загрузки загруженного симулятора находится в /Library/Developer/CoreSimulator/Profiles/Runtimes
.
Например, чтобы исправить симулятор iOS 9.3:
sudo mkdir '/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 9.3.simruntime/Contents/Resources/RuntimeRoot/usr/lib/swift'
У меня тоже возникла такая же проблема при запуске в симуляторе iOS 9.0.
Из https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_1_release_notes
Симуляторы для iOS 9.3 и более ранних версий могут не запускать приложения Swift с сообщением: «dyld: Библиотека не загружена: /usr/lib/libauto.dylib ». (49326587) Обходной путь: Запустите следующую команду в Терминале для соответствующей версии iOS:
sudo mkdir '/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 9.3.simruntime/Contents/Resources/RuntimeRoot/usr/lib/swift'
Для этого яблока, указанного выше, решение в этой ссылке.
Просто
-> открыть терминал
-> введите эту строку с нужной вам версией (в моем случае я перешел на iOS 9.3 на iOS 9.0)
Пример: sudo mkdir '/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 9.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/swift'
-> Введите пароль
-> Теперь очистите Xcode и снова запустите
Это вышеупомянутое решение сработало для меня.
Довольно досадный обходной путь: сейчас используйте Xcode 10.1 для развертывания на симуляторах 9.x. Это единственный способ, которым я смог обойти это.
Ни одно из вышеупомянутого не работало на меня. Моя проблема совпадает с этим, но создавала приложение для macOS
.
Выполнение Xcode 11
цель проекта 10.4
, пока моя ОС Mojave 10.4.6
.
я должен был установить Xcode 10.3
и использование это вместо этого. Никакие проблемы с тех пор.
Мое предположение, это - проблема с ОС, Xcode version
и цель проекта.