2016年10月8日 星期六

使用 ag-grid cellrenderer 實作 CRUD 輸入文字時避免方向鍵造成焦點跑掉且自動將焦點停在input

在 input 中加入directive,select 也適用

.directive("stoppropagation", function () {
        return {
            link: function (scope, element, attrs, ngModel) {
                element.on('keydown', function (event) {
                    var key = event.which || event.keyCode;
                    if (key >= 37 || key <= 40 || key==9) {
                        event.stopPropagation();
                    }
                });
            }
        }
    })


cellrenderer 中加入
params.eGridCell.addEventListener('focus', function (event) { event.srcElement.firstChild.focus(); event.srcElement.firstChild.select(); });
PS. 若為文字方塊再加入 event.srcElement.firstChild.select(); 以便自動全選

沒有留言:

input 連結 datalist 用程式控制彈出選項

範例: nextTick(() => document.querySelector('input').showPicker());  ※僅支援現代瀏覽器