jQuery函数由Generic Javascript函数调用

时间:2010-11-15 00:49:34

标签: jquery javascript

我似乎有点困惑。我要做的是创建一个Javascript函数,禁用页面上的所有输入,然后创建一个启用页面上所有输入的函数。

使用jQuery这很容易。我的问题是,如何在传统的JS函数中包装这些jQuery函数?我需要这样做的原因是因为我使用ActionScript调用这些函数。换句话说,我不明白我如何编写jQuery代码然后以传统的Javascript函数调用方式调用它。

效果很好,但不包含在函数中......

$(document).ready(function() {
    $(':input').attr('disabled', "disabled");
});

包含在一个函数中并且根本不起作用,我在这里做错了什么?

function init_lock_test(){
    $(':input').attr('disabled', "disabled");
}

3 个答案:

答案 0 :(得分:5)

你不能直接从ActionScript中调用网页中的JavaScript函数,并且作为“jQuery函数”没有特别之处。您应using ActionScript's ExternalInterface间接调用JavaScript函数:

import flash.external.ExternalInterface

// Calls the function init_lock_test
ExternalInterface.call("init_lock_test");

答案 1 :(得分:1)

就我个人而言,我会避免使用jQuery,因为它并不是真的需要:p
试试这个:

function lockInputs(lock) {
    var tags, elems, i, j;
    tags = ['input','button','textarea'];
    for( i=0; i<tags.length; i++) {
        elems = document.getElementsByTagName(tags[i]);
        for( j=0; j<elems.length; j++) {
            if( lock) elems[j].setAttribute("_lock",elems[j].disabled);
            elems[j].disabled = lock || elems[j].getAttribute("_lock");
        }
    }
}

那应该用lockInputs禁用所有输入字段(true);并使用lockInputs重新启用它们(false);
它还可以保存禁用状态,因此任何被禁用的状态都会保持这种状态 HTH!

答案 2 :(得分:0)

在传统的js函数中包装jquery实际上就像init_lock_test函数一样简单。从ActionScript调用函数时必须遇到问题。试试这个来验证:

$(document).ready(function() {
  init_lock_test();
});