2016-10-04 12 views
0

私は現在、入力フィールドの上に置かれたフォントのすばらしいアイコンを持っています。アイコンをクリック可能にしたいのですが、動作させることができません。私はスパンでそれを包み込み、スパンカーソルを変更しましたが、効果がないようです。クリック可能なフォント驚くばかりのアイコンの中の入力

ここでは、コードです:

.inner-addon { 
 
    position: relative; 
 
} 
 
.inner-addon .fa { 
 
    position: absolute; 
 
    padding: 10px; 
 
    pointer-events: none; 
 
} 
 
.left-addon .fa { 
 
    left: 0px; 
 
} 
 
.right-addon .fa { 
 
    right: 0px; 
 
} 
 
.left-addon input { 
 
    padding-left: 30px; 
 
} 
 
.right-addon input { 
 
    padding-right: 30px; 
 
} 
 
#locationClickableIcon { 
 
    cursor: pointer; 
 
}
<span id="locationClickableIcon"><i class="fa fa-crosshairs" id='autolocate'></i></span> 
 
<input type="text" id="address" placeholder="Zipcode" value="" />

+1

クリックはうまく動作します(https://jsfiddle.net/o2vg3men/1/)。クリックしたときに正確に何が起こりたいですか? – Turnip

+0

私の場合、アイコンは入力ボックスの内側に配置されています。ここではクリックできません。 –

+0

@JakeOlsあなたは本当に失敗する場所を表示していません。問題を再現することなく、どうすれば手助けできますか? –

答えて

0

は、あなたがクリックする上で何かをすることを求めていないので、それは何の効果もありません。それはあなたが望むものとして機能します。リンクのように動作させたい場合は、<span><a>に変更し、クリックハンドラを与えます。

クリックハンドラ

$(function() { 
 
    $("#locationClickableIcon").click(function() { 
 
    alert("You clicked me!"); 
 
    }); 
 
});
.inner-addon { 
 
    position: relative; 
 
} 
 

 
.inner-addon .fa { 
 
    position: absolute; 
 
    padding: 10px; 
 
    pointer-events: none; 
 
} 
 

 
.left-addon .fa { left: 0px;} 
 
.right-addon .fa { right: 0px;} 
 

 
.left-addon input { padding-left: 30px; } 
 
.right-addon input { padding-right: 30px; } 
 
#locationClickableIcon { 
 
    cursor: pointer; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet"/> 
 
<span id="locationClickableIcon"><i class="fa fa-crosshairs" id='autolocate'></i></span> 
 
<input type="text" id="address" placeholder="Zipcode" value="" />

リンク

.inner-addon { 
 
    position: relative; 
 
} 
 

 
.inner-addon .fa { 
 
    position: absolute; 
 
    padding: 10px; 
 
    pointer-events: none; 
 
} 
 

 
.left-addon .fa { left: 0px;} 
 
.right-addon .fa { right: 0px;} 
 

 
.left-addon input { padding-left: 30px; } 
 
.right-addon input { padding-right: 30px; } 
 
#locationClickableIcon { 
 
    cursor: pointer; 
 
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet"/> 
 
<a id="locationClickableIcon" href="http://example.com/"><i class="fa fa-crosshairs" id='autolocate'></i></a> 
 
<input type="text" id="address" placeholder="Zipcode" value="" />

+0

ありがとうございます - 私はクリックハンドラを追加しましたが、それでもクリック可能ではありません/ポインタは変更されません。アイコンを入力から移動するようにCSSを変更すると、アイコンは入力上に配置されていないときに機能します。 –

+0

@JakeOlsそれは私のために正常に動作します。スニペットを確認してください。正確な問題は何ですか?それともあなたの問題を理解できないのですか? –

+0

あなたが投稿したスニペットは、入力ボックスの外側にアイコンがありますが、私のアイコンはボックスの内側にあります。 –