重複の可能性:
オブジェクトにメソッドがあるかどうかのjQueryテスト?
javascriptを呼び出す前に関数が存在するかどうかを設定したいのですが、これを実行してこのスクリプトに適用する方法を教えてください
$(document).ready(function() {
$(".cs-text-cut").lettering('words');
});
重複の可能性:
オブジェクトにメソッドがあるかどうかのjQueryテスト?
javascriptを呼び出す前に関数が存在するかどうかを設定したいのですが、これを実行してこのスクリプトに適用する方法を教えてください
$(document).ready(function() {
$(".cs-text-cut").lettering('words');
});
私はあなたがそれlettering
が存在することをチェックして確かめたいと思っていると仮定しています、これを試してください:
http://api.jquery.com/jQuery.isFunction/
次に例を示します。
if ( $.isFunction($.fn.lettering) ) {
$(".cs-text-cut").lettering('words');
}
これを使用して、機能が存在するかどうかを確認します。
<script>
if ( typeof function_name == 'function' ) {
//function_name is a function
}
else
{
//do not exist
}
</script>
lettering
テストしたい関数の場合は、次のように行うことができます。
$(document).ready(function() {
var items = $(".cs-text-cut");
if (items.lettering) {
items.lettering('words');
}
});
または、呼び出す前に関数であることを絶対に確認したい場合items.lettering
は、次のようにすることができます。
$(document).ready(function() {
var items = $(".cs-text-cut");
if (typeof items.lettering === "function") {
items.lettering('words');
}
});
または、実際に環境を制御していないため、レタリング関数呼び出しが機能するかどうかがわからず、例外をスローする可能性がある場合は、例外ハンドラーを配置するだけです。
$(document).ready(function() {
try {
$(".cs-text-cut").lettering('words');
} catch(e) {
// handle an exception here if lettering doesn't exist or throws an exception
}
});
typeof $({}).lettering == 'function'
または$.isFunction($({}).lettering)
、まだ利用可能かどうかについてブール値を返す必要があります。