Перехват innerHTML и выполнение другой команды

Можно ли как-то перехватить element.innerHTML = msg; в одном конкретном месте и запустить его:

$("#id").text(msg);

вместо этого .innerHTML = msg?

http://jsfiddle.net/j8b4zoLt/

ОБНОВЛЕНИЕ:
Я нашел аналогичный вопрос: как перехватывать изменения innerHTML в javascript?
и как я понимаю перехват innerHTML невозможен.


person DmitMedv    schedule 29.01.2015    source источник
comment
Я понятия не имею, о чем вы спрашиваете, но ответ — да, вероятно, это возможно, а ответ — нет, вы, вероятно, не хотите этого делать. Если вы хотите остановить innerHTML, если элемент содержит другие узлы, а не только текст, это возможно, но вопрос в том, почему.   -  person adeneo    schedule 29.01.2015
comment
Как насчет того, чтобы вообще не использовать innerHTML, если он вам действительно не нужен? Похоже, вы все равно уже используете jQuery, так что просто используйте .text().   -  person JLRishe    schedule 29.01.2015
comment
Не совсем понял вопроса, но может быть, это то, что вы хотите? element.html('<div class="msgContent">'+msg+'</div>');   -  person gr3g    schedule 29.01.2015
comment
См.: jsfiddle.net/0motnqaa Это исправление вашего кода jsfiddle, но я не понимаю, как это связано с вашим вопросом.   -  person Tarwirdur Turon    schedule 29.01.2015
comment
@OP, не могли бы вы описать нам реальную проблему, с которой вы столкнулись, а не решение, которое, по вашему мнению, вы хотите? Если вы сделаете это, мы сможем предложить решение. Что такое проблема XY?   -  person JLRishe    schedule 29.01.2015


Ответы (1)


Этот код должен работать

insertIntoMsgBox = function(msg) {
  //...
  var element = $('.msgContent') ; 
  element.html(msg) ;
  //...
}
person ziz194    schedule 29.01.2015
comment
Это вообще не отвечает на вопрос спрашивающего. Они хотят перехватить назначения .innerHTML. - person JLRishe; 29.01.2015
comment
не могли бы вы объяснить, что именно вы хотите, потому что код, который я вам отправил, работает - person ziz194; 29.01.2015
comment
перехватить .innerhtml ? зачем? - person ziz194; 29.01.2015
comment
По-видимому, чтобы предварительно проверить значение, которое было ему присвоено, или предотвратить изменение определенных элементов. Я знаю, это не очень хорошая идея, но, тем не менее, просьба именно об этом. - person JLRishe; 29.01.2015
comment
@ ziz194, потому что я не могу коснуться insertIntoMsgBox. - person DmitMedv; 29.01.2015