الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في استدعاء Function

بدأه Code Geek في 11 يناير 2010 · 12 رد · 1,436 مشاهدة · في قسم البرمجة بــ Javascript
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي مشكلة في استدعا فنكشن بسيطة عبارة عن امر alert

وهذا هو الكود

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled 1</title>
<script type="javascript">

	function testAlert()
	{
		alert('OK');
	}
</script>
</head>

<body>
<div>
	<div id="txt1" onmouseover="testAlert();">	
		<strong>test text</strong><br />
		line1<br />
		line2<br />
		line3
	</div>
	<div id="txt2" onmouseover="this.style.fontWeight='bold';">	
		<strong>test text</strong><br />
		line1<br />
		line2<br />
		line3
		</div>
	<div id="txt3">	
		<strong>test text</strong><br />
		line1<br />
		line2<br />
		line3
	</div>
</div>
</body>

</html>

كود الاستدعاء

<div id="txt1" onmouseover="testAlert();">

الفنكشن

	function testAlert()
	{
		alert('OK');
	}

ارجو المساعدة

#2
<script type="text/javascript">

أو

<script>

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

شاكر لك ردك اخوي Xacker

لكن نفس المشكلة لم يتغير شي

:)

#4

يستحيل

جربتها للتو مرة أخرى على IE8, FF, Opera

وتعمل عليها جميعا!

1

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#5
Code Geek كتب:

كود الاستدعاء

<div id="txt1" onmouseover="testAlert();">

ارجو المساعدة

أعتقد أن الخلل بوضع الفاصلة المنقوطة

هكذا الوضع السليم

<div id="txt1" onmouseover="testAlert()">
#6
randa كتب:

أعتقد أن الخلل بوضع الفاصلة المنقوطة

لا على الإطلاق، الفاصلة أساساً تستخدم للدلالة على نهاية السطر، وباعتبار لا يوجد سوى سطر برمجي واحد وهو طلب تنفيذ testAlert() فوجودها وعدم وجودها سيان.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#7
Xacker كتب:

يستحيل

جربتها للتو مرة أخرى على IE8, FF, Opera

وتعمل عليها جميعا!

الف شكر اخوي

لكن تتوقع السبب من المتصفح الخاص بي؟

IE 6

لكن لو كان كذالك مالحل مع الزوار الذين يستخدمون نفس هذا الاصدار ؟؟؟

#8
Code Geek كتب:

الف شكر اخوي

لكن تتوقع السبب من المتصفح الخاص بي؟

IE 6

لكن لو كان كذالك مالحل مع الزوار الذين يستخدمون نفس هذا الاصدار ؟؟؟

نعم الاحتمال الأرجح.

بالنسبة للزوار عليك معرفة أين يفشل تنفيذ الكود, بالمناسبة هل يتم تغيير الستايل للجزء الثاني من الكود لديك عند مرور الماوس فوقه؟

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#9

أخي Code Geek موضوع الأخت رندة أصبح في موضوع مستقل

http://www.arabteam2...howtopic=212354

يمكنك متابعة الكتابة فيه هناك (قمت بنقل مشاركاتك المشتركة، المشكلة جزء منها يتكلم في موضوعك والبقية في موضوعها.. الحق عليكم :P)

بالنسبة لمشكلتك جرب التالي

<script>
testAlert = function()
{
    alert('OK');
}
</script>

تم تعديل هذه المشاركة بواسطة Xacker في 11 يناير 2010 في 20:10

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#10

نفس الشي اخوي :)

مع اني مستغرب الطريقة

testAlert = function()

اول مرة استعملها بهذا الشكل :)

وحتى على فايرفوكس 3.5.7

لم تعمل

#11
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 

1.0 Transitional//EN" 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1

-transitional.dtd">
<html 

xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Language" 

content="en-us" />
<meta http-equiv="Content-Type" 

content="text/html; charset=utf-8" />
<title>Untitled 1</title>
<script type="text/javascript">

	function testAlert()
	{
		alert('OK');
	}
</script>
</head>

<body>
<div>
	<div id="txt1" 

onmouseover="testAlert();">	
		<strong>test 

text</strong><br />
		line1<br />
		line2<br />
		line3
	</div>
	<div id="txt2" 

onmouseover="this.style.fontWeight='bold

';">	
		<strong>test 

text</strong><br />
		line1<br />
		line2<br />
		line3
		</div>
	<div id="txt3">	
		<strong>test 

text</strong><br />
		line1<br />
		line2<br />
		line3
	</div>
</div>
</body>

</html>

هذه يعمل بنجاح , المشكلة لديك كما قال X في <script type="javascript">

بلنسبة

<script>
testAlert = function()
{
    alert('OK');
}
</script>

في جافا سكربت , الفنكشن عبارة عن DataType اي نوع للبيانات يمكن تخزينه في متغير او يمكن ان يكون عبارة عن parameter لفنكشن الخ...

انظر الى المثال التالي :

<script type="text/javascript">

function ABC()
{
  return function(){alert('Hi');};
}
x=ABC();
x();
</script>

عبارة عن فنكشن تقوم بارجاع فنكشن !

الموضوع متقدم قليلا , لكن معظم المكتبات الحديثة تعتمد على هذه خاصية في الجافا سكربت :)

دعواتكم بتوفيق في الامتحانات ...

تم تعديل هذه المشاركة بواسطة ahmad123 في 11 يناير 2010 في 22:22

#12

الف شكر لكم يا اخوان

اكتشفت ان السبب هو امتداد الملف

مع htm لا يعمل الجافا سكربت

لكن مع html يعمل

#13

المشكلة عندك غريبة يا أخي!

جربتها للتو على نظام Vista

3 متصفحات

FF الأخير

IE8

Iron

وتعمل عليها جميعاً!

حاول الدخول إلى إعدادات المتصفح لديك، هناك تبويب حسبما اذكر اسمه Advanced، تجد فيه زر يقوم باستعادة إعدادات المتصفح (كاملة) للافتراضية..

ابحث عنه في المتصفح لديك وجرب استخدامه.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

مواضيع مشابهة