В версии jQuery в вашем событии click у вас есть функция togglePass (), но вы никогда не запускаете ее. Так как вы делаете в другой версии.
// For triggering you function
$(".pass").on("click", ".typcn-eye", togglePass);
// Function outside your click event
function togglePass() {
// Toggle active class on every click
$(this).toggleClass("active");
// Get the type of the prev element
let type = $(this).prev().attr("type"),
changeTo = type === "password" ? "text" : "password";
// Change type attr of that element
$(this).prev().attr("type", changeTo);
}
.box {
display: flex;
flex-direction: column;
align-items: start;
}
.pass {
display: flex;
align-items: center;
border: 1px solid;
}
.box input[type="text"],
.box input[type="password"] {
display: block;
margin: 20px auto;
background: #ececec;
border: 0;
border-radius: 5px;
padding: 14px 10px;
width: 220px;
outline: none;
color: #565f79;
}
.typcn {
color: #3b476b;
font-size: 22px;
cursor: pointer;
}
.typcn.active {
color: #7f60eb;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/typicons/2.0.9/typicons.min.css" rel="stylesheet" />
<form class="box">
<div class="pass">
<input class="pwd" type="password" name="password" placeholder="Passsword" id="pwd" autocomplete="off">
<i class="typcn typcn-eye" id="eye"></i>
</div>
<div class="pass">
<input class="pwd" type="password" name="password" placeholder="Passsword" id="pwd2" autocomplete="off">
<i class="typcn typcn-eye" id="eye2"></i>
</div>
</form>
Это были динамические запросы? Иногда это полезно при создании динамических запросов на основе параметров, которые являются дополнительными.
Если Вы автоматически хотите добавить ограничения на свой запрос, он делает Ваше живое более легкое:
string sql = "SELECT * FROM table WHERE 1=1";
if (someflag) {
sql += " AND valid = 1";
}
if (someotherflag) {
sql += " AND special = 1";
}
execute(sql);
Без WHERE 1 = 1
Вы были бы в каждом случае, должны проверить, является ли это первое ограничение, Вы добавляете (и затем используйте WHERE ...
) или если Вы уже добавили некоторое другое ограничение прежде (и затем добавьте AND ...
).
Если Вы динамично создаете, где пункт, можно быть немного ленивыми и предположить, что каждый пункт, который Вы добавляете, может быть снабжен префиксом "И", например.
$str="select foo from bar where 1=1";
if ($filter1)
{
$str.=" and col1='frobozz'";
}
Я использую это для динамического, где пункты, когда я делаю некоторое ленивое программирование и не хочу всегда проверять, пуст ли пункт, чтобы определить, нужно ли мне теперь "И" между моими динамическими пунктами.
Это действительно только имеет смысл в динамических запросах. Если Вы добавляете параметры в цикле вместо того, чтобы иметь необходимость проверить, существует ли, ГДЕ уже можно просто добавить И Столбец = Значение каждый раз.
Я видел два основания для этого, когда Вы всегда хотите истинный результат, или когда там будет произвольным числом "и условие = значение", добавленное к оператору
Это очень интересно... Оператор Where содержит только 1=1? Я часто видел это в попытках Внедрения SQL, в которых оператор Where установлен на xyz="something" OR 1=1;
как средство всегда возвратить список результатов.
Можно ли сказать нам больше о том, что продолжает этот запрос, таким образом, мы смогли отвечать на вопрос лучше?