Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Internet Explorer上悬停表格标题时不显示工具提示_Javascript_Jquery_Html_User Interface_Internet Explorer - Fatal编程技术网

Javascript 在Internet Explorer上悬停表格标题时不显示工具提示

Javascript 在Internet Explorer上悬停表格标题时不显示工具提示,javascript,jquery,html,user-interface,internet-explorer,Javascript,Jquery,Html,User Interface,Internet Explorer,仅在Internet Explorer上悬停表格标题时,工具提示不显示 你好。 我对IE上的网格有问题。 我使用jQuery选择器构建了一个带有内部文本的工具提示,它从目标中复制文本。只有当元素具有“省略号”属性且 文本未完全显示在行上 jQuery选择器的一部分: var target = e.target, tooltip = e.sender, tooltipText = ""; if (targ

仅在Internet Explorer上悬停表格标题时,工具提示不显示

你好。 我对IE上的网格有问题。 我使用jQuery选择器构建了一个带有内部文本的工具提示,它从目标中复制文本。只有当元素具有“省略号”属性且 文本未完全显示在行上

jQuery选择器的一部分:

  var target = e.target,
                tooltip = e.sender,
                tooltipText = "";

            if (target[0].offsetWidth < target[0].scrollWidth) {
                tooltipText = target[0].value || target[0].innerText;
            }

            tooltip.popup.unbind("open");
            tooltip.popup.bind("open", function (arg) {
                tooltip.refreshTooltip = false;
                if (target[0].offsetWidth > target[0].scrollWidth || tooltipText === "") {
                    arg.preventDefault();
                } else if (tooltipText !== target[0].value && tooltipText !== target[0].innerText) {
                    tooltip.refreshTooltip = true;
                }
            });

            return tooltipText;
var target=e.target,
工具提示=e.sender,
tooltipText=“”;
if(目标[0]。偏移网络宽度<目标[0]。滚动宽度){
tooltipText=target[0]。值| | target[0]。innerText;
}
工具提示。弹出。解除绑定(“打开”);
工具提示.popup.bind(“打开”,函数(arg){
tooltip.refreshTooltip=false;
if(目标[0]。offsetWidth>target[0]。滚动宽度| | tooltipText==“”){
arg.preventDefault();
}else if(tooltipText!==target[0]。值(&tooltipText!==target[0]。innerText){
tooltip.refreshTooltip=true;
}
});
返回工具脚本文本;
它在Chrome上可以工作,而在IE上它只对td元素起作用,对表中的th元素不起作用。
我尝试添加空白:nowrap到th元素和表格布局:固定用于表格本身,但不起作用。

问题与IE和Edge浏览器(Chromium engine之前的版本)有关。他们读到元素的宽度不同于其他浏览器,浏览器认为,即使文本是省略号(只有在这种情况下才应该显示工具提示),也会显示整个文本。这个问题相当棘手,因为当胡佛表格的标题出现时,工具提示没有出现。 要解决此问题,需要在整个文本中添加额外字符以愚弄IE和Edge,如下所示:

 var appendHeaderText = function (element) {
        if ($.isIE() || $.isEdge()) {
            element.childNodes[0].innerText += "_";
        }            
    };

var removeHeaderText = function (element) {
        if ($.isIE() || $.isEdge()) {
            var text = element.childNodes[0].innerText;
            element.childNodes[0].innerText = text.slice(0, text.length - 1);
        }
    };

        e.sender.thead.setTooltip("th", true, appendHeaderText, removeHeaderText);

你说,“这个文本没有完全显示在行上。”这是不是意味着,它出现了,但没有显示完整的字符串?如果可能,请尝试发布问题的屏幕截图和预期输出。这可能有助于我们更好地理解这个问题。还要检查您是否在控制台中收到错误消息。告诉我们。