我在 Chrome、移动设备上遇到了一些奇怪的功能。
当我尝试将焦点集中在 chrome 上的某个元素上时,当您尝试仅加载输入、 getItById 并执行 .focus() 时,它不起作用。但是,如果将其包装在附加到按钮的事件侦听器中,并用鼠标单击该按钮,则它可以正常工作。
因此,我试图通过查看是否可以调用 btn.click() 来欺骗它,但这不会激活 .focus()
尝试一下:在移动设备、chrome(至少对于 iOS)上加载页面。您应该收到“已单击”警报,但它不会关注输入。然后,尝试单击该按钮。您将收到警报并且焦点有效。
我发现这很有趣,想看看人们是否知道解决方法。
链接在这里 - jsfiddle
const btn = document.getElementById('button')
btn.addEventListener('click', () => {
alert('clicked')
const input = document.getElementById('input')
input.focus()
})
btn.click()Run Code Online (Sandbox Code Playgroud)
<input id="input" type="text">
<button id="button">Button</button>Run Code Online (Sandbox Code Playgroud)
编辑
我注意到的另一件事是,如果您让手机进入睡眠状态,然后再次打开它,则 focus() 无需单击即可工作。
编辑 2 - 添加了移动设备链接
似乎getDrawable()ofWallpaperManager在 Android 13 上没有用,因为用户无法获得READ_EXTERNAL_STORAGE它的权限。
有什么办法可以获取 API 级别 33 上的当前壁纸吗?我的意思是不降低targetSdk水平等。
我正在尝试聆听GlobalLayout 使用
view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
int c=0;
@Override
public void onGlobalLayout() {
c++; //without removing the listener c will grow for ever even though there is no GlobalLayout events
view.setText(""+c);
}
});
Run Code Online (Sandbox Code Playgroud)
但它被无休止地调用。
我知道我应该像这样删除监听器: view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
但我想让听众在接下来的GlobalLayout事件中保持活跃。
目前我只是尝试使用
我尝试过的这个问题来监听视图位置的变化,onPreDraw但它是一样的。
GlobalLayout事件?
提前致谢。
我的 HTML 文件中有五个按钮。
鉴于它们是五个,我希望能够打印 HTML 集合中已单击的特定按钮的索引。即点击时btn 4我应该看到3打印的内容。我尝试将一些我认为可以做到的 JavaScript 行放在一起,但徒劳无功。JS代码是:
if (document.readyState == 'loading') {
document.addEventListener('DOMContentLoaded',execute);
}else{
execute()
}
function execute() {
var btns = document.getElementsByClassName('item');
for (var i = 0; i < btns.length; i++) {
btns[i].addEventListener('click',btnClicked);
}
}
function btnClicked(event,btns) {
var btn = event.currentTarget;
var btnIndex = btns.indexOf(btn)
console.log(btnIndex)
}Run Code Online (Sandbox Code Playgroud)
<body>
<div class="btn-items">
<button class="item">btn 1 </button>
<button class="item">btn 2 </button>
<button class="item">btn 3</button>
<button class="item">btn 4</button>
<button class="item">btn 5</button>
</div>
</body>Run Code Online (Sandbox Code Playgroud)
该怎么走呢?
使用重音字符时,为什么Javadoc注释中会出现混合颜色?
\n这个降价:
\n/** Premi\xc3\xa8re mani\xc3\xa8re **/\n@GetMapping\npublic String index() {\n return "Hello Spring Boot";\n}\n \n/** Deuxi\xc3\xa8me mani\xc3\xa8re */\n@RequestMapping("/")\npublic String greetings() {\n return "Greetings";\n}\nRun Code Online (Sandbox Code Playgroud)\n使用Pandoc将其生成 pdf 格式:
\n\n文字注释中间混合着蓝色和黑色。每次遇到重音字符时,此处:\xc3\xa8。
但如果没有重音字符,它会产生:
\n\n在这里,它更正确,但我想知道为什么整个Javadoc注释不是蓝色的?
\n我的header-includes就是这些,但我有相同的行为:
one header-includes或不放,header-includes:\n- \\usepackage{tcolorbox}\n- \\usepackage{fvextra}\n- \\DefineVerbatimEnvironment{Highlighting}{Verbatim}{breaklines,breakanywhere,breaksymbol=,breakanywheresymbolpre=,commandchars=\\\\\\{\\}}\nRun Code Online (Sandbox Code Playgroud)\n有没有办法纠正重音字符的行为?效果并不好。
\n@abra如果我用、\xc3\xa8with和这里的所有字符进行更改,则会产生以下结果:è\xc3\xa9é
如何防止粘性元素进入标题后面?
当前的代码片段在父级上使用填充顶部,我也尝试在额外的子级上使用 margin-top 或透明 50px 边框,但它似乎不起作用。
我知道在这种情况下我可以轻松地top: 50px; 在粘性标签上使用,但我想将这部分集成到 React 组件中,并且使用特定的尺寸使得组合不同的组件变得更加困难,因为它们都必须共享顶部尺寸。
如何使标题/填充成为“实心”并使粘性无法通过?
body{
background: rgb(200,200,200);
padding:0px;
margin:0px;
}
header{
height: 50px;
font-size: 2em;
background: aqua;
opacity: 0.6;
text-align:center;
position: fixed;
width: 100%;
}
.content-wrapper{
padding-top: 50px; /* keeps the header space */
height: 800px; /*for demo*/
}
.sticky{
position: sticky;
top:0;
}Run Code Online (Sandbox Code Playgroud)
<header>header</header>
<div class="content-wrapper">
<div class="sticky">
Hello, I am a sticky element
<div>
<div>Run Code Online (Sandbox Code Playgroud)
List<T> 从异步函数IEnumerable<T>获取后如何创建?IEnumerable<T>
我的代码:
var orders = await _DbManager.Orders.GetAllAsync();
Run Code Online (Sandbox Code Playgroud)
_DbManager.Orders.GetAllAsync()返回IEnumerable<Orders>,我想避免多重枚举,但_DbManager.Orders.GetAllAsync().ToList()给了我这个错误:
Task<IEnumerable> 不包含 ToList 的定义...
解决这个问题的最佳解决方案是什么?
我正在使用 Tailwind CSS 来制作网格。在父 div 中,我使用类space-x-1并space-y-1自动对齐子 div。
除了第一个元素稍微未对齐之外,这种方法效果很好。第一个元素的计算边距为 0,而其他每个元素的计算边距为 4px。当我从父 div 中删除space-x-1和时space-y-1,子 div 具有相同的边距。
<!-- Tailwind 3 -->
<script src="https://cdn.tailwindcss.com"></script>
<!-- Body -->
<div class="grid grid-cols-5 space-x-1 space-y-1">
<div class="text-white text-center p-2 bg-green-700">wood 1</div>
<div class="text-white text-center p-2 bg-gray-700">ore 2</div>
<div class="text-white text-center p-2 bg-green-700">wood 3</div>
<div class="text-white text-center p-2 bg-purple-800">sheep 4</div>
<div class="text-white text-center p-2 bg-yellow-500">wheat 5</div>
<div class="text-white text-center p-2 bg-yellow-900">brick 6</div>
<div class="text-white text-center p-2 bg-pink-700">desert 7</div>
<div class="text-white …Run Code Online (Sandbox Code Playgroud)html ×4
android ×2
css ×2
java ×2
javascript ×2
arrays ×1
async-await ×1
c# ×1
css-position ×1
dom ×1
dom-events ×1
ienumerable ×1
javadoc ×1
list ×1
listener ×1
markdown ×1
pandoc ×1
tailwind-css ×1
wallpaper ×1