为什么警报会破坏javascript的执行?

时间:2009-07-24 19:16:46

标签: javascript

如何调用alert函数改变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");

没有 - 我在firebug中遇到以下错误:li_data未定义jquery.tokeninput.js第336行(添加警报调用是唯一的更改)

(你可以看到我正在玩Tokenizing Autocomplete jQuery插件 - http://loopj.com/2009/04/25/jquery-plugin-tokenizing-autocomplete-text-entry/

现在这就是让我烦恼的事情。有人可以向我解释这有甚么可能吗?

更新:我尝试使用Chrome而不是Firefox,但这个特殊问题并未出现。那么现在怎么办?它应该被认为是FF中的某种错误,还是有其他一些我不知道的东西?

2 个答案:

答案 0 :(得分:1)

纯粹的推测,但事实上,这是一个自动完成的事情让我想知道警报是否正在窃取焦点的事实是搞砸任何东西。是否有一个onblur事件在错误的时间发射?

答案 1 :(得分:1)

我同意Darth - 可能是一个与焦点相关的问题。

如果您需要在执行脚本时查看其值,请使用Firebug代替

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