Autor Zpráva
Shadowek
Profil
Dobrý den, mám na stránkách tinymce a následující script:
    <script type="text/javascript">

    $(document).ready(function(){

      var optiony = {};

      $("#filter_select option").each(function(){

        optiony[$(this).val()] = $(this).html(); 

      });

      $("#filter").keyup(function(){

        $("#filter_select").html("");

        for(var x in optiony){

          if(optiony[x].toLowerCase().indexOf($(this).val().toLowerCase())>-1){

            $("#filter_select").html($("#filter_select").html()+'<option value="'+x+'">'+optiony[x]+'</option>');

          }

        }

      });

    });

    </script>


Na stránkách kde tinymce nevyužívám (mám ho nahrané ale neaplikuji jej na žádnou textareu) mi tento script běží bez potíží, ale pokud je na dané stránce tinymce, tak mi to všechny optiony v tom selectu vymaže a hodí do konzole tento error:

Uncaught TypeError: Object function filter() { [native code] } has no method 'getContent' /adresar/subadresar/js/tiny_mce/jquery.tinymce.js:1

Nevíte co bych s tím měl dělat?
Witiko
Profil
Předpokládám, že spouštíš kód v Internet Exploreru. Ten vytvoří atribut globálního objektu window pro každý element s definovaným id. V tomto případě tedy window.filter, který odkazoval na funkci filter od TinyMce (z toho plyne poučení - zaneřaďovat global Scope co nejméně, tuplem ještě u takovýchto obecných názvů proměnných a funkcí; mluvím teď o tinyMce, neomluvitelné u knihovny, která má být genericky použitelná) nyní odkazuje na tvůj element s id filter. Řešením je změnit id elementu (a samozřejmě i veškeré odkazy na něj uvnitř toho kódu pro jQuery).
Shadowek
Profil
Hmm ok, zkusím. Ale spouštím to v Chrome ...
Otestováno, funguje. Je to od nich velmi nepěkné. ;)
Díky

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0