私が間違っていることを知らない。カスタムjQueryプラグイン内に関数があり、ブラウザーからそれが未定義であると表示されます。
誰かが私が間違ったことを内部で見ることができますか?
(function($){
$.fn.myCustomPlugin = function( ) {
return this.each(function() {
var theValue = $(this).text().trim().replace(/ /g,'');
// STOP if theValue return nothing
if (theValue === null || theValue === undefined || theValue == ""){
$(this).html("nothing inside the span");
return true;
}
function clickActions()
{
alert("This alert shows when clicking on the element");
return false;
}
$(this).html('<a href="javascript:void(0);" onClick="clickActions()">'+theValue+'</a>');
}); // eof .each
};
})(jQuery);
HTMLは、スパン内の単純な電話番号です。
<span class="formatme">123-8749674</span><br />
<span class="formatme">123-8749674</span><br />
<span class="formatme">123-8749674</span><br />
<span class="formatme">123-8749674</span><br />
<span class="formatme">123-8749674</span><br />
<script type="text/javascript">
$(document).ready(function() {
$('.formatme').myCustomPlugin();
});
</script>
関数clickActions()は単に間違った場所にある可能性がありますが、プラグインコード内で移動したため、同じ結果になりました。