0

我是 JavaScript 新手。我只想在创建的文本字段中输入。

这样我就创建了一个id 为 cstList的ul 标签。

并在 onclick 事件上调用函数listData()

在里面,我试图在div 标签内创建一个输入标签。

创建后,我无法在文本字段中输入。

谁能告诉我,为什么会这样?

这是我的listData()代码

function listData()
    {       
        //var a = sessionStorage.getItem('id');
        if(sessionStorage == null)
        {
            alert("Session storage not supported here");
        }
        else
        {
            var ss = sessionStorage.getItem('id');
            alert("storage value is: "+ss);
        }
    var rows = prompt('Please type in the number of required rows');
    var listCode = '';

    for (var i = 0; i < rows; i++) {
        var listID = 'list_' + i.toString();
        var divID = 'div_' + i.toString();
        var inputIdp = 'inputp_'+ i.toString();
        var inputIdq = 'inputq_'+ i.toString();
          //  listCode += '<li id="' + listID + '><div id = "'+ divID + '"> <input type= "text" id= "boltQTY" name= "boltQTY" value = "abc"/> <input type= "text" id= "a" name= "boltQTY" value = "abc" size="5"/></div></li>';

          listCode += "<li id='" + listID + "'><div id = '"+ divID + "'> <input type='text' id='" + inputIdp + "' name='" + inputIdp + "' value='' size='15'/> <input type='text' id='" + inputIdq + "' name='" + inputIdq + "' value='' size='15'/> </div></li>";

            //variable = "string" + var1 + "string=' " + var2 +"' ";
    }
    document.getElementById('cstList').innerHTML = listCode;
    }
4

1 回答 1

0

我得到了答案。这就是在 group.google.com 上讨论的 iscroll 的问题。

通过以下代码解决了在文本字段中输入值的问题。

在新的js文件中创建此代码。

iScroll.prototype.handleEvent = function(e) {
    var that = this,
        hasTouch = 'ontouchstart' in window && !isTouchPad,
        vendor = (/webkit/i).test(navigator.appVersion) ? 'webkit' :
                 (/firefox/i).test(navigator.userAgent) ? 'Moz' :
                 'opera' in window ? 'O' : '',
        RESIZE_EV = 'onorientationchange' in window ? 'orientationchange' : 'resize',
        START_EV = hasTouch ? 'touchstart' : 'mousedown',
        MOVE_EV = hasTouch ? 'touchmove' : 'mousemove',
        END_EV = hasTouch ? 'touchend' : 'mouseup',
        CANCEL_EV = hasTouch ? 'touchcancel' : 'mouseup',
        WHEEL_EV = vendor == 'Moz' ? 'DOMMouseScroll' : 'mousewheel';

    switch(e.type) {
        case START_EV:
            if (that.checkInputs(e.target.tagName)) {
                return;
            }

            if (!hasTouch && e.button !== 0) return;

            that._start(e);
            break;
        case MOVE_EV: 
            that._move(e); 
            break;
        case END_EV:
            if (that.checkInputs(e.target.tagName)) {
                return;
            }
        case CANCEL_EV: 
            that._end(e);
            break;
        case RESIZE_EV: 
            that._resize();
            break;
        case WHEEL_EV: 
            that._wheel(e); 
            break;
        case 'mouseout': 
            that._mouseout(e); 
            break;
        case 'webkitTransitionEnd': 
            that._transitionEnd(e); 
            break;
    }
}

iScroll.prototype.checkInputs = function(tagName) {
    if (tagName === 'INPUT' || tagName === 'TEXTFIELD' || tagName === 'SELECT') {
        return true;
    } else {
        return false;
    }
}
于 2012-11-17T03:01:08.317 回答