2009-07-24 8 views
0

アラート関数の呼び出しによってjsスクリプトの動作がどのように変化するのでしょうか?そのような何か:どのようにアラートがジャバスクリプトの実行を中断しますか?

function add_token (item) { 
    var li_data = $.data(item.get(0), "tokeninput"); 

は動作しますが、この:

function add_token (item) { 
    alert('a'); 
    var li_data = $.data(item.get(0), "tokeninput"); 

はしていません - 私は放火犯にエラーが発生し、次の取得:li_dataアラートコールを追加未定義jquery.tokeninput.jsライン336は、(のみです変化する)

(あなたは私がトークン化オートコンプリートjQueryプラグインで遊んだ見ることができるように - http://loopj.com/2009/04/25/jquery-plugin-tokenizing-autocomplete-text-entry/

今ではそのバグ私を何か。誰かが私にどのようにそれが可能であるか説明することができますか?

更新:Firefoxの代わりにChromeを使用しようとしましたが、この特定の問題は表示されません。んで、どうする?それは、FFのバグのいくつかの種類と見なされるべきか、または私が気づいていないこれに関する他の何かがありますか?

+1

は私たちに多くのコードを与えます。表示されたエラーは、li_dataが読み込まれ、そのコードで読み取られない場合にのみ発生します – mkoryak

+0

firebugでデバッグ – mkoryak

+0

li_dataは実際には次の行に実際にアクセスされます: var li_data = $ .data (0)、 "tokeninput"); var this_token = insert_token(li_data.id、li_data.name); – Olek

答えて

1

純粋な推測ですが、それがオートコンプリートのためのものであるという事実は、アラートがフォーカスを盗んでいるという事実が何かを突っ込んでいるかどうか疑問に思います。おそらく間違った時間に発砲しているonblurイベントはありますか?

1

私はダースに同意します。おそらく焦点に関連する問題です。

、実行するにつれて、あなたのスクリプトの値を確認する必要がある場合は、代わりにFirebugを使用

function add_token (item) { 
    console.log('a'); 
    var li_data = $.data(item.get(0), "tokeninput"); 
+0

はい - どちらも正しいです。項目をnullに設定したブラーイベントが発生しました。 :) これはChromeで動作した理由は、li_dataが読み込まれた後にChromeがブラーイベントを実行したためです。 ありがとうございます - 私はjsからちょうど始まりました。そして、私は自分自身で答えを考え出すのに時間がかかります。 – Olek

関連する問題