ユーザーがクリックしたときにエレメントのタイプを変更するには、jqueryコードがあります。クリック時の要素タイプの切り替え
問題はCodePenで何らかの理由フォアクリックで全く変化していないということですが、元のウェブサイトに一度だけ、何もすることを行います。
HTML
<div>
<span class="input-group-btn">
<button type="submit" class="btn btn-primary"><span class="btn"aria-hidden="true">Go</span></button>
</span>
</div>
Javascriptを:
jQuery(document).ready(function() {
$.fn.changeElementType = function(newType) {
var attrs = {};
$.each(this[0].attributes, function(idx, attr) {
attrs[attr.nodeName] = attr.nodeValue;
});
this.replaceWith(function() {
return $("<" + newType + "/>", attrs).append($(this).contents());
});
}
$('.input-group-btn button').changeElementType('div');
$(function() {
$(".input-group div").on("click", function(e) {
$('.input-group-btn div').changeElementType('button');
e.stopPropagation()
});
$(document).on("click", function(e) {
if ($(e.target).is(".input-group input") === false) {
$('.input-group-btn button').changeElementType('div');
}
});
});
});
ここではペンです: http://codepen.io/florinsimion/pen/AXxKbG
任意のアイデア?
私が代わりに私は適切な解決策をあなたの実装に可能な修正に関連して、されていない言及する程度だ何をするので、コメントを追加したいのですが、残念ながら私はそれを行うためにはまだ十分な評判を持っていない
コンソール上: 'pen.js:4 Uncaught TypeError:未定義の属性 'attributes'を読み取れません – vaso123