角度js中禁用div的工具提示

时间:2018-01-08 09:05:48

标签: javascript jquery html css angularjs

我是angularjs的新手。实际上在发布这个问题之前我已经搜索了很多,我找到了不同的问题答案,但没有一个对我有用。所以,我也试过了css。在这里,我使用的是input type="file",我的代码就像 -

<div class="btn btn-info btn-labeled file-preview-input" ng-disabled="isSingleFileSelected">
                                <span class="glyphicon glyphicon-folder-open"></span>
                        <span class="file-preview-input-title">BrowseFolder</span>
                         <input type="file" ng-click="clearFileName()" id="uploadId" webkitdirectory directory multiple file-upload="myFile" accept=".txt, .rtf, .pdf, .doc, .docx, .rtx, .odt, .sxw, .wpd, .odf"
                                name="input-file-preview" />
                    </div>
                    <div class="btn btn-info btn-labeled file-preview-input" ng-disabled="isFolderSelected">
                        <span class="glyphicon glyphicon-file"></span>
                        <span class="file-preview-input-title">BrowseFile</span>
                        <input type="file" ng-click="clearFileName()" file-upload="myFile" accept=".txt, .rtf, .pdf, .doc, .docx, .rtx, .odt, .sxw, .wpd, .odf" name="input-file-preview"
                        />
                    </div>

现在在这段代码中我有一些变量,比如 - isSingleFileSelected,基于此我启用和禁用。现在我想要tooltip,即使它已被禁用。所以,在这里我尝试在输入类型上添加ng-disabled,但用户可以点击该字段,但它已被禁用但仍然是。所以,我在div上添加了ng-disabled所以现在{ {1}}但无法显示user is not able to click input type的工具提示。任何人都可以帮助我。提前致谢。

1 个答案:

答案 0 :(得分:0)

好的,这是一个非常明确的解释:

javascript中禁用的表单元素不会触发事件。

这里最简单的解决方案是将输入标记包装在一个元素中,并在包装​​元素而不是div中显示工具提示。像这样:

<div class="btn btn-info btn-labeled file-preview-input" ng-disabled="isSingleFileSelected">
       <span class="glyphicon glyphicon-folder-open"></span>
       <span class="file-preview-input-title">BrowseFolder</span>
       <div ng-mouseover="showTooltip()">
           <input type="file" ng-click="clearFileName()" id="uploadId" webkitdirectory directory multiple file-upload="myFile" accept=".txt, .rtf, .pdf, .doc, .docx, .rtx, .odt, .sxw, .wpd, .odf" name="input-file-preview" />
       </div>
</div>