我正在尝试修复具有 onblur 事件侦听器的代码,该事件侦听器执行 setSelectionRange。我注意到,在 Chrome 上使用此功能时,模糊事件会将光标移动到下一个选项卡索引。然而,在 safari 上,光标保留在同一元素上,并且光标移动到 setSelectionRange 中指定的位置。
问题:
下面是一段 hello world 代码,显示了当我在 Safari 和 Chrome 中按 Tab 键移出某个字段时,光标的行为有何不同:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<script>
function handleBlur() {
event.target.setSelectionRange(1,1)
};
</script>
</head>
<body>
<input value="First Name" onblur="handleBlur()">
<input value="Last Name" onblur="handleBlur()">
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我们正在使用Script Pipeline语法,Jenkinsfile它有很多阶段定义来构建和部署我们的代码.我有一个用例,如果我正在进行完整构建,我想运行所有阶段,但如果我需要执行一些AWS路由,则只运行一个特定阶段.我知道我可以使用if(<expression>)跳过舞台或跑舞台.问题是我不想将这个if条件应用到我的每个阶段Jenkinsfile.
在新的Declarative Pipeline语法中,使用该stage..when选项很容易实现.我们的基础结构中使用了很多自定义Groovy辅助函数,所以此时我无法从Script Pipeline语法切换到新的Declarative Pipeline语法.我最终在现有Jenkinsfile的东西上做的是这样的......
原来詹金斯文件
stage('Checkout Code') {}
stage('Build') {}
parallel(
stage('Sonar Analysis') {}
stage('CLM Analysis') {}
stage('Security Analysis') {}
)
stage('Build Docker Image') {}
...
...
stage('QA Deploy') {}
stage('QA Routing') {}
...
...
stage('Prod Deploy') {}
stage('Prod Routing') {}
Run Code Online (Sandbox Code Playgroud)
变成
if (fullDeploy){
stage('Full Build') {
stage('Checkout Code') {}
stage('Build') {}
parallel(
stage('Sonar Analysis') {} …Run Code Online (Sandbox Code Playgroud)