דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. JS קבלת נתונים על תכונות של טקסט מסומן

JS קבלת נתונים על תכונות של טקסט מסומן

מתוזמן נעוץ נעול הועבר תכנות
11 פוסטים 4 כותבים 324 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ה מנותק
    ה מנותק
    הפצת אנקי
    כתב ב נערך לאחרונה על ידי הפצת אנקי
    #1

    אתן כדוגמא את הטקסט עם הhtml שבשורה הבאה:

    <span style="font-size: 48pt!important;">כתב גדול <span style="font-size: 24pt!important;">כתב בינוני</span> <span style="font-size: 11pt!important;">כתב קטן</span></span>
    

    אני מעוניין לקבל את הנתון מהו גודל הכתב שאסמן עם העכבר. כתבתי לצורך זה את הקוד להלן. הבעיה בו שהוא תמיד בוחר את התגית הכי פנימית מה שאומר שגם אם אסמן את המילים "כתב גדול" הוא יתן לי את הנתון 11pt.

    function gText(e) {
      var elmnt = document.activeElement.shadowRoot.querySelectorAll("span");
      var sizes = ["גודל כתב"];
      var fonts = [" גופן "];
      elmnt.forEach((sel) => {
        sizeval = sel.style["font-size"].replace("pt", "");
        if (sizeval != "") {
          sizes.unshift(sizeval);
          console.log(sizes);
          // } else {
            //   document.getElementById("size").textContent = "גודל כתב";
          }
          document.getElementById("size").textContent = sizes[0];
          sizes = ["גודל כתב"];
      });
      elmnt.forEach((sel) => {
        fontval = sel.style["font-family"]; 
          if (fontval != "") {
            fonts.unshift(fontval);
            // } else {
              //   document.getElementById("font").textContent = "גופן";
          }    
        document.getElementById("font").textContent = fonts[0].slice(1, -1);
        fonts = [" גופן "];
      });
    }
    
    document.onmouseup = gText;
    
    

    ניתן לקבל את התוכנה לזכירת הלימוד בכתובת מייל 3422973@gmail.com
    הודעה זמנית: לעת עתה אנו מנסים לארגן מסע פרסום לתוכנה כדי שכלל הלומדים יוכלו לחזור בקלות על לימודם. תרומות בקישור: https://nedar.im/lGvN

    חגיח תגובה 1 תגובה אחרונה
    0
    • חגיח מחובר
      חגיח מחובר
      חגי
      השיב להפצת אנקי ב נערך לאחרונה על ידי
      #2

      @הפצת-אנקי
      אני יכול להציע פיתרון חלופי?

      getComputedStyle(document.getSelection().baseNode.parentElement)['font-size']
      

      אם זה לא פיתרון למקרה שלך, אשמח לנסות לעזור.
      פשוט נראה לי שהפיתרון שלך זה לא הכיוון הנכון.

      ה תגובה 1 תגובה אחרונה
      4
      • ה מנותק
        ה מנותק
        הפצת אנקי
        השיב לחגי ב נערך לאחרונה על ידי
        #3

        @חגי עבד עם שינוי קטן שרלוונטי למה שאני צריך (אנקי).

          var sz = getComputedStyle(
            document.activeElement.shadowRoot.getSelection().baseNode.parentElement
          ).getPropertyValue("font-size");
          console.log(sz.slice(0, -2)*72/96);
        

        ניתן לקבל את התוכנה לזכירת הלימוד בכתובת מייל 3422973@gmail.com
        הודעה זמנית: לעת עתה אנו מנסים לארגן מסע פרסום לתוכנה כדי שכלל הלומדים יוכלו לחזור בקלות על לימודם. תרומות בקישור: https://nedar.im/lGvN

        תגובה 1 תגובה אחרונה
        2
        • ה מנותק
          ה מנותק
          הפצת אנקי
          כתב ב נערך לאחרונה על ידי
          #4

          שמתי לב שאם אני בוחר טקסט שחלקו מוגדר לגודל אחד וחלקו השני לגודל אחר הוא בוחר את הגודל שבו התחלתי לסמן. יש דרך לגרום לו להחזיר את כל הערכים הרלוונטיים/ערך ריק?

          ניתן לקבל את התוכנה לזכירת הלימוד בכתובת מייל 3422973@gmail.com
          הודעה זמנית: לעת עתה אנו מנסים לארגן מסע פרסום לתוכנה כדי שכלל הלומדים יוכלו לחזור בקלות על לימודם. תרומות בקישור: https://nedar.im/lGvN

          גמליאלג תגובה 1 תגובה אחרונה
          0
          • גמליאלג מנותק
            גמליאלג מנותק
            גמליאל
            השיב להפצת אנקי ב נערך לאחרונה על ידי
            #5

            @הפצת-אנקי
            אתה השתמשת בbaseNode שמחזיר את תחילת הבחירה.
            אתה יכול להשתמש בdegreeNode שמחזיר את סוף הבחירה.

            ה תגובה 1 תגובה אחרונה
            1
            • ה מנותק
              ה מנותק
              הפצת אנקי
              השיב לגמליאל ב נערך לאחרונה על ידי הפצת אנקי
              #6

              @גמליאל כתב בJS קבלת נתונים על תכונות של טקסט מסומן:

              בdegreeNode

              יש דרך למקרה שההתחלה והסוף זהים ובאמצע יש שוני?
              (אולי ליצור טווח בין ההתחלה לסוף עם לולאה שרצה על הכל? )

              ניתן לקבל את התוכנה לזכירת הלימוד בכתובת מייל 3422973@gmail.com
              הודעה זמנית: לעת עתה אנו מנסים לארגן מסע פרסום לתוכנה כדי שכלל הלומדים יוכלו לחזור בקלות על לימודם. תרומות בקישור: https://nedar.im/lGvN

              תגובה 1 תגובה אחרונה
              0
              • חגיח מחובר
                חגיח מחובר
                חגי
                כתב ב נערך לאחרונה על ידי
                #7

                כדי למנוע מצב של בעיית XY, אולי תכתוב מה בדיוק הצורך שלך, ולא מה אתה מנסה לעשות?
                אולי יש פתרונות אחרים שיוכלו להציע לך.

                ה תגובה 1 תגובה אחרונה
                4
                • ה מנותק
                  ה מנותק
                  הפצת אנקי
                  השיב לחגי ב נערך לאחרונה על ידי
                  #8

                  @חגי יש לי כפתור שפותח תפריט לשינוי גודל טקסט. אני רוצה שכאשר אסמן טקסט יהיה כתוב על הכפתור מהו גודל הטקסט הנוכחי בpt (לעיל עשיתי המרה מpx אם שמת לב..)
                  36c534ff-f194-4d52-bfc5-b375d889f256-image.png

                  ניתן לקבל את התוכנה לזכירת הלימוד בכתובת מייל 3422973@gmail.com
                  הודעה זמנית: לעת עתה אנו מנסים לארגן מסע פרסום לתוכנה כדי שכלל הלומדים יוכלו לחזור בקלות על לימודם. תרומות בקישור: https://nedar.im/lGvN

                  גמליאלג תגובה 1 תגובה אחרונה
                  0
                  • גמליאלג מנותק
                    גמליאלג מנותק
                    גמליאל
                    השיב להפצת אנקי ב נערך לאחרונה על ידי
                    #9

                    @הפצת-אנקי כתב בJS קבלת נתונים על תכונות של טקסט מסומן:

                    יש דרך למקרה שההתחלה והסוף זהים ובאמצע יש שוני?

                    אני רוצה שכאשר אסמן טקסט יהיה כתוב על הכפתור מהו גודל הטקסט הנוכחי

                    ומה אתה רוצה שיופיע בחלון כש'ההתחלה והסוף זהים ובאמצע יש שוני'?

                    (בWORD ועורכי טקסט אחרים, במקרה של הדגשת טקסט שכולל הגדרות עיצוב שונות בין החלקים בטקסט, החלון יהיה ריק).

                    ה תגובה 1 תגובה אחרונה
                    4
                    • ה מנותק
                      ה מנותק
                      הפצת אנקי
                      השיב לגמליאל ב נערך לאחרונה על ידי הפצת אנקי
                      #10

                      @גמליאל ריק יכול להיות טוב. אולי יותר טוב שיוצג טווח משהו כמו 10-22.

                      ניתן לקבל את התוכנה לזכירת הלימוד בכתובת מייל 3422973@gmail.com
                      הודעה זמנית: לעת עתה אנו מנסים לארגן מסע פרסום לתוכנה כדי שכלל הלומדים יוכלו לחזור בקלות על לימודם. תרומות בקישור: https://nedar.im/lGvN

                      dovidD תגובה 1 תגובה אחרונה
                      0
                      • dovidD מחובר
                        dovidD מחובר
                        dovid ניהול
                        השיב להפצת אנקי ב נערך לאחרונה על ידי dovid
                        #11

                        @הפצת-אנקי זה נראה מסובך.
                        קל לגשת לראשון ולאחרון (או לאב המשותף לכולם), אבל ייתכן ששניהם אותו גדול ובאמצע יש גודל שונה.
                        אני חושב שבלי קוד מסורבל קשה לדעת (שמחפש את הטקסט בלולאה בצאצאי האב ומחליט לפי זה אלו אלמנטים נכללו בבחירה).
                        מראה מקום: https://javascript.info/selection-range

                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                        תגובה 1 תגובה אחרונה
                        2
                        • ה הפצת אנקי התייחס לנושא זה ב

                        בא תתחבר לדף היומי!
                        • התחברות

                        • אין לך חשבון עדיין? הרשמה

                        • התחברו או הירשמו כדי לחפש.
                        • פוסט ראשון
                          פוסט אחרון
                        0
                        • דף הבית
                        • קטגוריות
                        • פוסטים אחרונים
                        • משתמשים
                        • חיפוש
                        • חוקי הפורום