【问题标题】:cannot select text, cannot click <input>无法选择文本,无法单击 <input>
【发布时间】:2017-12-06 12:05:22
【问题描述】:

我在一个函数上创建一个 div

function formatdata() {
  var div = document.createElement("div");
  div.className = 'inTable';
  div.innerHTML = "<label>Cannot Select</label><input type='text' value='' style='z-index:1300;!important'>";
  return div;
}

$('#data-table tbody').on('click', 'td.details-control', function() {
  var tr = $(this).closest('tr');
  var row = tabel.row(tr);
  if (row.child.isShown()) {
    row.child.hide();
    tr.removeClass('shown');
  } else {
    var data = tabel.row(this).data();
    row.child(formatdata(row.data())).show();
    tr.addClass('shown');
  }
});

我不能选择标签,不能用光标聚焦输入字段,但是使用tab键可以聚焦,我想,这个div的z-index低于父元素,我只是创建脚本来获取z-索引

$(document.body).click(function() {
  var zind = $(this).css('z-index');
  alert(zin);
});

当我点击 div 时,div 的父级说“auto”,在 chrome 中我检查了开发人员工具 -> 元素,但我不知道问题出在哪里。

谁能指导我知道问题出在哪里?

【问题讨论】:

  • 您是否将 div 附加到 DOM 中?您必须这样做才能点击或聚焦它!
  • style='z-index:1300;!important' --> 如果元素未定位z-index 将不适用(定位 = fixedabsoluterelative,@ 987654329@ - not static),如果您使用 ,您的 !important 声明应分号结尾(例如:z-index:1300 !important;)之前带有!important 声明的内联样式 您将无法使用外部样式过度限定此规则除非您使用id 选择器(它承载更多重量)和另一个!important声明。
  • 好点,但如果他不这样做,如果没有什么可看的,他怎么能尝试选择或单击? :D 据我了解,这些元素在浏览器中是可见的,不是吗?
  • 你知道,我们真正需要在这里看到的是渲染的 html 和适用于它的样式(不是 all 你的标记,只是 足够 i> 作为最小、完整和可验证的示例)传递-您的问题实际上并没有演示或重现问题。见:stackoverflow.com/help/mcve
  • @UncaughtTypeError,谢谢,我试过了,但无法给出简单的解释

标签: javascript jquery css html


【解决方案1】:

您需要将创建的 div 附加到正文中

function formatdata() {
  var div = document.createElement("div");
  div.className = 'inTable';
  div.innerHTML = "<label>Cannot Select</label><input type='text' value='' style='z-index:1300;!important'>";
  return div;
}


document.body.appendChild(formatdata());

【讨论】:

  • 我已经更新了我的问题,实际上这是一个函数
  • 抱歉我又更新了myquestion,其实我之前用过这个脚本,老网站模板没问题,当我用在新网站模板上,问题来了
猜你喜欢
  • 2016-06-24
  • 1970-01-01
  • 1970-01-01
  • 2017-03-19
  • 1970-01-01
  • 1970-01-01
  • 2015-09-12
  • 2015-01-24
  • 1970-01-01
相关资源
最近更新 更多