0

我有一个远程控制系统,用于我们使用的基于 Web 的销售工具,它现在在 jQuery 1.5.1 下工作得非常好,现在将系统改造成 jquery 1.8.1,充其量是间歇性的。

该系统与查看器和控制器一起使用,在控制器中单击的内容被保存到数据库并由查看器读取,然后使用 jquery .click() 方法对它们进行操作

代码:

function ProcessCommand() {

// Setup strings for return values.
xmlProcessCommand = GetXmlHttpObject();

// Setup strings require for function.
var strNewCommand;
var intSplitLocation;

// Get commands from database (AJAX)
var strCommandRequest = "../drone/processcommand.aspx";
strCommandRequest = strCommandRequest + "?sid=" + Math.random();
xmlProcessCommand.onreadystatechange = function () {
    if (xmlProcessCommand.readyState == 4) {

        // Items have arrived back, get item.
        strNewCommand = xmlProcessCommand.responseText; // Instructions received.

        // Check received instructions against stored instructions
        if (strCurrentCommand != strNewCommand) {
            // Place the new instructions into the current instructions for overload protection.
            strCurrentCommand = strNewCommand;

            // Extract code
            intSplitLocation = strNewCommand.indexOf("|");
            strNewCommand = strNewCommand.substring(0, intSplitLocation);

            if (strNewCommand != "") {
                // Click the specified ID
                $('#' + strNewCommand).click(); // Click element
            }
        }
    }
};
xmlProcessCommand.open("GET", strCommandRequest, true);
xmlProcessCommand.send(null);

// Loop function.
setTimeout("ProcessCommand()", 500);

}

strNewCommand 接收要单击的元素(基于 id)和来自数据库的时间戳,以确定它是否较新并对其进行操作。

简单的事情,比如点击 div 的作品,但有些锚点似乎无法点击,即使收到了正确的元素名称并且该元素在 html 中是唯一的。它可以完全控制灯箱,这只是让我把头发拉出来的简单事情。

我已经使用警报(我知道的不好的做法)和使用萤火虫进行了检查,它显示了进来的元素名称,如果它告诉我为什么它不能点击它会很好。

任何帮助将不胜感激。

4

1 回答 1

0

午餐时灵光一现,尝试通过 onclick 事件将一些普通的旧锚链接切换为“点击”,这一切都恢复了活力。

所以你有它,.click() 方法不是那么热衷于点击<a href....>,但非常满意<a onclick=......>

于 2012-09-12T15:06:05.930 回答