2014-04-24 63 views
0

我想提出一個angularjs應用程序,我檢查對文檔的所有點擊:jQuery的存儲輸入元素

$(document).click(function(event) { 

    if(event.target.nodeName == "INPUT") { 

     // get and store the element itself 

    } 
    }); 

,後來我想,以改變輸入元素

的值觸發的KeyEvent
var findInput = function (element) { 
    return element.find('input'); 
}; 

var triggerKeyDown = function (element, keyCode) { 
    var inputEl = findInput(element); 
    var e = $.Event('keydown'); 
    e.which = keyCode; 
    inputEl.trigger(e) 
}; 

我試過多次使用事件結構的「目標」和「toElement」成員從事件中提取元素。 因此,任何想法如何做到這一點

+0

您能告訴我們調用'triggerKeyDown'的代碼嗎? – Archer

+0

目前沒什麼特別的,只是一個調用triggerKeyDown(inputElement,83)的控制器; 請注意,inputElement目前我從第一個代碼段和83傳遞event.target是隨機值 – nikolakoco

回答

1

如果你通過event.targetfindInput,如你在上面的評論中說,那就是你的問題。你需要一個jQuery對象來使用find()。嘗試將此功能更改爲此...

var findInput = function (element) { 
    return $(element).find('input'); 
}; 
+0

這也沒有工作:/ 但我已經設法讓它工作。我只是做了「element.value + = keycode」,它完成了填充輸入元素的工作。但是,這是正確的方式,因爲它看起來不乾淨,如果我嘗試發送一些其他鍵碼,如退格鍵等。 – nikolakoco