[英]Changing the “onClick” action of this jQuery from clearing input text to instead adding the input text to the list below?
這是小提琴: http : //jsfiddle.net/mlynn/3rp5gcdu/2/
當您開始在文本框中輸入內容時,帶有加號的圖片會滑入文本框。 當前已對其進行了編碼,因此當您單擊加號時,將清除輸入文本,並且加號會滑出視圖。
我希望這樣,除了清除文本並使圖像滑出視圖之外,單擊加號還將輸入文本添加到下面的列表中。 如果您單擊“ Enter”,則添加到列表的效果很好,但是我也希望它在單擊該加號時也執行相同的功能,以便用戶可以選擇按Enter或單擊加號以添加到列表中。
希望這是有道理的。
這是我的JS代碼:
// sub menus identification
$(function() {
$('.navbar ul li a').click(function(){
$('.navbar > li:first-child > a').text($(this).text());
$('.navbar > li > ul').addClass('hidden');
$('.navbar li ul').slideToggle(100);
});
$('.navbar > li').mouseenter(function(){
$(this).find('ul').removeClass('hidden');
});
$('.ActiveListItem').click(function(){
$('.navbar li ul').slideToggle(300);
});
});
//newList
$(document).ready(function() {
var ul = $('.lister ul'),
input = $('input'),
CategoryIcon;
input.focus();
$('form').submit(function () {
if (input.val() !== '') {
var inputVal = input.val(),
activeNumber = $('.ActiveListItem').text();
if (activeNumber == "1") {
CategoryIcon = '<img src="https://cdn1.iconfinder.com/data/icons/appicns/513/appicns_iTunes.png" width="15" height="15"></img>';
} else {
CategoryIcon = '<img src="http://images.clipartpanda.com/question-mark-black-and-white-Icon-round-Question_mark.jpg" width="15" height="15"></img>';
}
ul.append('<li>' + CategoryIcon + " " + inputVal + '<a href="">X</a></li>');
if (ul.hasClass('inactive')) {
ul.removeClass('inactive')
.addClass('active');
}
};
input.val('');
return false;
});
ul.on('click', 'a', function (e) {
e.preventDefault();
$(this).parent().slideUp();
if (ul.children().length == 0) {
ul.removeClass('active')
.addClass('inactive');
input.focus();
}
});
});
//clearable
jQuery(function($) {
// /////
// CLEARABLE INPUT
function tog(v){return v?'addClass':'removeClass';}
$(document).on('input', '.clearable', function(){
$(this)[tog(this.value)]('x');
}).on('mousemove', '.x', function( e ){
$(this)[tog(this.offsetWidth-18 < e.clientX-this.getBoundingClientRect().left)]('onX');
}).on('click', '.onX', function(){
$(this).removeClass('x onX').val('').change();
});
});
您必須添加類似以下內容:
$('form').submit();
上
on('click', '.onX', function(){
}
這是小提琴: http : //jsfiddle.net/3rp5gcdu/7/
檢查這個小提琴: http : //jsfiddle.net/3rp5gcdu/6/
我使用on()
方法,可以在其中指定動態創建的DOM元素的行為。 每次將鼠標懸停在圖標上時,您都可以看到它向input
元素添加了onX
類。
$(document).on('click', 'input.onX', function(){ // do something }
<在這里,我的意思是“每次單擊具有onX
類的輸入文本時, onX
做某事”
為了使其更優雅,您可以:
addItem
; form submit
的代碼和$(document).on('click', 'input.onX', function()
的代碼復制/粘貼到其addItem
函數中,並兩次調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.