Nano Hash - криптовалюты, майнинг, программирование

TypeError: param.toElement не определен

Привет всем, у меня есть следующий код, представляющий собой смесь Prototype JS и Jquery:

var oldZindex = 0;
var theClickID = null;

UIProgressButton.prototype._initEvents = function() {
    var self = this;
    this.button.addEventListener( 'click', function(param) {
        $('#overlay').css({'visibility':'visible'});
        theClickID = $('button[data-id="' + param.toElement.attributes[1].value + '"]').parent().attr('id');
        oldZindex = $('#' + theClickID).css('z-index');
    });
}

Этот код отлично работает в браузере Chrome, но, похоже, выдает ошибку:

typeerror param.toelement не определен

В FireFox.... Как мне решить эту проблему, поскольку я точно знаю, что она работает, так как работает в Chrome просто отлично?


Ответы:


1

Исправил, добавив следующее:

var Element = ((window.event)?(event.srcElement):(evt.currentTarget));

Затем, используя это в моем коде:

UIProgressButton.prototype._initEvents = function() {
    var self = this;
    this.button.addEventListener( 'click', function(param) {
        $('#overlay').css({'visibility':'visible'});
        var Element = ((window.event)?(event.srcElement):(param.currentTarget));            
        theClickID = $('button[data-id="' + Element.attributes[0].value + '"]').parent().attr('id');
        oldZindex = $('#' + theClickID).css('z-index');
    });
}
24.08.2014

2

Поскольку у вас уже есть jQuery, вы можете использовать его для привязки прослушивателей событий, чтобы у вас не было проблем с IE при получении события:

var oldZindex = 0;
var theClickID = null;

UIProgressButton.prototype._initEvents = function() {
    var self = this;
    $(this.button).on( 'click', function(param) {
        $('#overlay').css({'visibility':'visible'});
        theClickID = $('button[data-id="' 
          //you may prefer to get a named attribute
          //instead of by index:
          //param.getAttribute('attributeName')
          + param.target.attributes[1].value 
          + '"]').parent().attr('id');
        oldZindex = $('#' + theClickID).css('z-index');
    });
}
24.08.2014
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..